有時候UI給開發的資源跟實際的frame不一致,這個時候我們就要去拉伸圖片
UIImage* image = [[UIImage imageNamed:@"text_field_bg.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:0]; //stretchableImageWithLeftCapWidth使圖片有拉伸效果
UITextField* field = [[UITextField alloc] initWithFrame:CGRectMake(80, 10, 170, 30)];
_textField = field;
_textField.autoresizingMask = UIViewAutoresizingFlexibleWidth;//自動調整自己的位置,使自己的左邊距和右邊距和superview保持不變
_textField.enablesReturnKeyAutomatically = YES; //使return在輸入時可以使用
_textField.placeholder = @"please input:"; //設置hint的值
_textField.textAlignment = NSTextAlignmentLeft; //文字靠左顯示
_textField.borderStyle = UITextBorderStyleNone; //沒有邊框
_textField.font = [UIFont systemFontOfSize:18.0f]; //設置字體大小
_textField.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
_textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; //這兩個使文字會居中顯示
_textField.clearButtonMode = UITextFieldViewModeWhileEditing; //當輸入時有clear button
UIImage* image = [[UIImage imageNamed:@"text_field_bg.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:0]; //stretchableImageWithLeftCapWidth使圖片有拉伸效果 20表示圖片的左邊的邊框20像素處可以橫向拉伸
_textField.delegate = self; //給textField設置代理
_textField.background = image; //背景設置
_textField.leftViewMode = UITextFieldViewModeAlways;
CGRect frame = [_textField frame];
frame.size.width = 15;
UIView* view1 = [[UIView alloc] initWithFrame:frame];
_textField.leftView = view1; //上面幾句話設置文字跟textField的左邊有些距離
[self.view addSubview:_textField];
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string length]) {
unichar single = [string characterAtIndex:0];
if (single > 'a' && single < 'z') {
return YES;
}else{//輸入的數據格式不正確
NSLog(@"格式不正確");
[textField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}
return YES;
}
如果想使鍵盤在進入界面的時候就彈出來,可以這樣來做:
[_textFieldbecomeFirstResponder];
UIButton的屬性介紹:
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; //init一個button,可以自定義背景
[button setBackgroundImage:[[UIImage imageNamed:@"cancel_but_bg@2x.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:0] forState:UIControlStateNormal];
button.frame = CGRectMake(260,10, 49, 30); //設置button的背景,有normal和highlight兩種狀態
[button setBackgroundImage:[[UIImage imageNamed:@"cancel_but_bg2@2x.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:0] forState:UIControlStateHighlighted];
button.frame = CGRectMake(260,10, 49, 30);
[button setTitle:@"確定" forState:UIControlStateNormal]; //設置Button的text
[button setTitleColor:[MyViewController RGBColorFromHexString:@"#333333" alpha:1.0f] forState:UIControlStateNormal];
[button setTitleColor:[MyViewController RGBColorFromHexString:@"#000000" alpha:1.0f] forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(onclick) forControlEvents:UIControlEventTouchUpInside]; //如果onclick帶冒號則寫方法的時候會把button也傳過去 像onclick:(id)sender
[self.view addSubview:button];
UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 46, 320, 480-46)];
_webView = webView;
webView.delegate = self;
NSURL* url = [NSURL URLWithString:@"http://m.baidu.com"];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[self.view addSubview:webView];代碼可以在http://download.csdn.net/detail/baidu_nod/7595369下載
截圖:
