1. ios开发的里self.frame.size.width为什么不能赋值?
你是什么情况下不能赋值的?是代码写的控件还是用Xib约束布局的,要是Xib不能赋值的话把Use Auto Layout 去掉就可以了
2. 求分析ios这以小段代码self什么意思
不是当前对象是什么 ??
你声明了实例对象,在实例对象内部self就是指向实例所在存储区域的首地址。
最后一句的意思,就是将你创建的UIimageView 试图,添加导你声明的实例对象的view上进行显示。
3. 关于iOS开发的 self 的含义
self就是它自己,只需要知道谁调用方法,谁就是self。self就是它自己。那就行了。深层不扯了,说多了,反而会乱。
这里的initwithframe是UI控件特有的。就是init方法。一开始有isa指针?有RetainCount?有superclass?等(这里随便举了三个,其实还有十几个的)都没有吧?谁有?NSObject有啊,所以继承它啊。所以需要self = [super initWithFrame:frame];
返回yes,才能进行下一步初始化啊。然后NSTimer是一个定时器@selector你会用吧?会SEL类型就会用了。
然后没什么好说的。最后返回它自己。
最后说下:这段代码,作用就是初始化一个控件,然后0.05S调用play这个方法,然后repeats:YES就意味着会重复执行。。。
4. iOS开发,用for创建6个按钮,摆成两行三列,代码该怎么写?
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(20+100*j, 40+150*i, 75, 122);
[btn setTitle:[NSString stringWithFormat:@"%d",(3*i+j)+1] forState:0];
btn.tag = 3*i+j;
[self.view addSubview:btn];
}
}
设置tag,主要是为了添加点击事件时可以正确的知道是那个按钮触发的。
5. ios怎么实现点击webview按钮调用oc代码
我们用 javascriptCore.framework 这个库。
首先在建立一个UIWebView,代码如下:
#import "webview.h"
#import
@implementation webview
-(id)initWithFrame:(CGRect)frame
{
self=[super initWithFrame:frame];
if( self ){
self.webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 310, self.bounds.size.width, 300)];
self.webview.backgroundColor=[UIColor lightGrayColor];
NSString *htmlPath=[[NSBundle mainBundle] resourcePath];
htmlPath=[htmlPath stringByAppendingPathComponent:@"html/index.html"];
NSURL *localURL=[[NSURL alloc]initFileURLWithPath:htmlPath];
[self.webview loadRequest:[NSURLRequest requestWithURL:localURL]];
[self addSubview:self.webview];
JSContext *context = [self.webview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
context[@"log"] = ^() {
NSLog(@"+++++++Begin Log+++++++");
NSArray *args = [JSContext currentArguments];
for (JSValue *jsVal in args) {
NSLog(@"%@", jsVal);
}
JSValue *this = [JSContext currentThis];
NSLog(@"this: %@",this);
NSLog(@"-------End Log-------");
};
}
return self;
}
@end
6. 如何看代码,怎么设置代码
加密这种方法是没什么用的,
你加的再好,也会有人破了你,就像微软反盗版一样……
呵呵……
其实知道一点东东也不错哦,
你看下面的方法试试如何:
1.将以下代码加入到HEML的之间
function click() {if (event.button==2) {alert('不许你偷看!');}}document.onmousedown=click
.......................................................................................
2. 禁止查看网页源代码
真正能实现源代码屏蔽的单纯的.htm是不可能的!想看源代码是没办法阻止的。用TELEPROT可以下载任何文件,相当于做镜像网站,
除非服务器进行安全设置、加密。
下面给几种参考方法,使在浏览我的个人主页时不能使用右键或者不能看到源程序或源代码等。
1)在主页上输入代码:
function click() {
if (event.button==2) {
alert(\'对不起,禁止使用此功能^_^.\')
}
}
document.onmousedown=click
<!--
locate = 0;
function scroller() {
if (locate !=500 ) {
locate++;
scroll(0,locate);
clearTimeout(timer);
var timer = setTimeout("scroller()",3);
timer;
}
}
// -->
2)网页安全技术指南
随着Internet的飞速发展,网站的数量正呈几何级速度递增,网页上的信息极大丰富,但网站的安全与信息的版权却不断受到威胁.近来,全球各大网站先后遭到黑客攻击,接着,为了顺应新形势,国内首家有关网络安全专题的网站(天网安全阵线)www.sky.net.cn诞生了.网站与网页的安全性受到越来越多的关注,本文将由浅入深地介绍关于加强网页安全性的各种技术和技巧,对关心网页源代码版权和网页数据安全保护的读者有较大的帮助.
初级入门篇
对广大网页编写者来说,对源代码的保护是最为关注的,但往往却没有任何办法.辛辛苦苦编写的网页在浏览者面前毫无遮掩,只要被别人轻轻点击鼠标右键,选择(查看源代码)一项后,即可获得网页完全代码,甚至稍加修改后就成为他人的网页.本篇将通过采用JavaScript技术,对页面源代码的修改,使浏览者无法获得源码,达到保护代码的目的.
首先,应屏蔽Internet Explorer工具栏中-查看-源代码一项的功能,即将页面采用框架结构的方式.若你的页面并未使用框架结构,且不需使用框架结构,可使用"零框架"技术(即将页面分为左右两帧,左帧的宽度为1,右帧为原页面).该方法的代码如下:
欢迎光临NetStart--网行者
将该文件存为主文件index.htm,建立一空文件ps.htm,原页面文件现另存为index.html(与主文件名仅在扩展名上略有不同).采用零框架技术有以下优点:
1.浏览者在用工具栏中的源代码项无法直接得到页面代码,仅能得到框架主文件的代码(即上述代码).
2.可利用左帧文件ps.htm加载一些网页的高级应用,如背景音乐,网页计数器,cookie应用等.
其次,应屏蔽鼠标右键的显示源文件功能,即在所需保护的页面文件(上例中为index.html文件)中加入以下代码:(当右键被点击时将出现图1所示提示框)
function click() {
if (event.button==2||event.button==3) {alert(\'"用右键要干嘛?"^_^\') }}
//引号中提示可自定义
document.onmousedown=click
最后,为防止一些了解网页编写语言的人通过框架主文件中的连接手工找出被保护页面后获得源代码,还应在被保护页面中加入以下代码:
if(top==self)top.location="index.html"
这段代码将提供跳回功能,使浏览器无法直接看到该页,而是自动跳回框架主文件index.html,起到保护该页面的作用.
在完成以上三个步骤,对你的主页按照框架结构进行了修改后,你的主页源代码将不能被浏览者在网上获得,可以小小庆贺一下了J
另外,若你确实不想用框架页面,那么可用特殊的方法打开浏览器新窗口,再结合屏蔽鼠标的功能代码后亦可收到同样的效果,打开方法如下:
打开被保护页面的连接
代码中,key.html为被保护页面的文件名.新窗口的高度height与宽度width的值可由用户自定义,单位为像素.
注意:嵌入式的 JavaScript代码应加在原文件的元素区内.
中级深入篇
上篇中是采用JavaScript技术达到保护在线网页的目的.正所谓"强中自有强中手",有些人使用Webzip,TelePro,Offline等离线浏览器下载你的主页,就可绕过JavaScript保护在线网页的防线,将网页下载后再慢慢剖析.有矛必有盾,你亦可用JavaScript建立的动态转向文件是大多数离线浏览器无法下载你的网页,方法如下.你可将上例中的被保护页面更名为index1.html,而将文件index.html改为以下代码:
window.location.replace(\'index1.html\') //本句产生网页跳转功能
对Internet Explorer5新增的离线浏览功能(脱机工作),以上方法有时失灵,可通过对网页设置cookie的高级技术达到保护的目的.一旦cookie超期,即使网页已被下载到本机也无法浏览,呵呵,厉害吧:)
应加入文件中的cookie代码段如下:
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : true;
var path = (3 < argc) ? argv[3] : true;
var domain = (4 < argc) ? argv[4] : true;
var secure = (5 < argc) ? argv[5] : true; //安全模式生效
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function ResetCounts(name)
{
visits = 0;
SetCookie(expdate , "/", true, true);
location.reload();
}
var expdate = new Date();
var visits;
expdate.setTime(expdate.getTime() + (24*60*60 * 1000)); //COOKIES超期时间设置,此处为1天
if(!(visits = GetCookie("visits")))
visits = 0;
visits++;
SetCookie(expdate, "/", true, true);
如果你已经做到这一步了,那么你的网页所受到的保护就不再是常规意义上的出于道德观念或版权意识,而是真正的技术上的保护手段.
高级研究篇
对网页的保护并不仅仅是涉及源代码的保护,更应该包含对网页数据或网络数据库的保护.对网络数据库的保护可采用基于IIS的CGI接口的认证程序,SQL的安全技术,ASP安全认证程序,Java Applet安全认证程序等手段,属于更高层次的安全措施,包含大量内容,本文不作介绍.本篇将介绍应用JavaScript技术构造的页面认证接口.将仅供有限人群访问的需要数据保护的页面中加入以下代码:
<!--
loopy()
function loopy() {
var sWord =""
while (sWord != "hibow") {
sWord = prompt("输入正确密码登陆! ")
}
alert("身份识别......允许登陆")
}
//-->
注意:嵌入式的 JavaScript代码应加在原文件的元素区内.
代码中字段sWord的值hibow为登陆被保护页面的密码.你可将自定义的密码告诉允许访问该页面的用户,仅当密码被正确输入后浏览者才可看见页面内容,否则将循环停留在密码登入框中(见图2),进不去喽J
为了达到保护页面源代码及数据的最佳效果,可将本文介绍的所有方法相结合,这就要考验大家的悟性和能力了.若对本文有任何疑问,可mailthibow@263.net.欢迎访问笔者主页hibow.top263.net,本文部分技术用于hibow.top263.net/test.htm.
···这样是锁不住代码的,只要先点左健不放,再点右健,在放左建,就能看了
···如果你的主页是用ASP,PHP,或者CGI购建的,一般对方是看不到源代码的。防右键的方法已经过时了
···还有一个办法就是把回车全去掉,把整个文件压缩。
这样看到也看不清楚, 还不影响动行。
7. UIView中如何居中一个label
UIView *aView = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];aView.backgroundColor = [UIColor darkGrayColor];UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 125, 30)];aLabel.center = aView.center;
8. ios怎么在代码中设置让按钮100%宽
通过frame.sizebounds.size属性可以修改控件的尺寸
// 比如点击“向上”按钮,让按钮的y值减小即可- (IBAction)top:(UIButton *)sender { CGRect btnFrame = self.headBtn.frame; btnFrame.origin.y -= 10; self.headBtn.frame = btnFrame;}// 下面代码是错误的,OC语法规定:不允许直接修改对象的结构体属性的成员self.headBtn.frame.origin.y -= 10;