1、代码启动storyboard的ViewController界面问题
问题原因:
我已经把storyboard中的View Controller绑定为ViewController想点击一个TableView的Item启动storyboard的View Controller就使用以下方法
[self showViewController:[[ViewController alloc] init] sender:nil];
页面启动后发现除了<BACK键外,下方是全黑的,根本就不是storyboard的View Controller
解决办法:
原来storyboard中的View Controller可以通过ID来找到。需要先定义ID,如下图:
修改代码如下:
//通过这个方法得到storyboard中的View Controller
ViewController * view = [self.storyboard instantiateViewControllerWithIdentifier:@"tododetail"];
[self showViewController:view sender:nil];
2.如果底部有UITextField控件,当键盘显示出来时,会把UITextField挡住,这样输入的是什么就看不见了
解决办法:
当编辑框获取焦点显示出键盘时,整个屏幕的view往上移,详细代码如下:
- (IBAction)pwdDidBeginEditing:(UITextField *)sender {
//屏幕上移
NSTimeInterval duration = 0.3f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:duration];
self.view.frame = CGRectMake(0, -100, self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}
- (IBAction)pwdDidEndEditing:(UITextField *)sender {
//屏幕恢复
NSTimeInterval duration = 0.3f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:duration];
self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}
这两个事件分别是
3.修改UISlider为自定义的Thumb图片
在storyboard只有修改Thumb的颜色,没有修改的Thumb自定义图片的,这时只能用代码来修改
可以在ViewController中添加如下代码
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[_slider1 setThumbImage:[UIImage imageNamed:@"tabnormal"] forState:UIControlStateNormal];
[_slider1 setThumbImage:[UIImage imageNamed:@"tabchecked"] forState:UIControlStateHighlighted];
}
正常和高亮下两种图片,效果如下:虽然图片很丑,但也能说明问题吧
4.访问网络需要添加的权限
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
就是在info.plist添加下面属性
否则会报如下问题:
2016-12-24 17:22:18.941 UIViewDemo[24025:1090438] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
5、UITextField点击空白处或点击Go隐藏软键盘
点击Go失去焦点隐藏软键盘
- (IBAction)didEndOnExit:(UITextField *)sender {
[sender resignFirstResponder];
}
点击空白处隐藏软键盘
代码,记得添加变量:@property (weak, nonatomic) IBOutlet UITextField *textUrl;
- (IBAction)touchDown:(UIControl *)sender {
[_textUrl resignFirstResponder];
}
要把父View改为UIControl才可以添加事件。
6.使用UITableView但上方没有置顶显示
使用UITableView但上方没有置顶显示,已经确认没有设置Header高度,后来查到了,只要在初始化时添加self.automaticallyAdjustsScrollViewInsets = false;就可以了。来看下前后效果
修改前:
只要在初始化时添加self.automaticallyAdjustsScrollViewInsets = false;就OK。