关于UIView的一些小技巧

1. 如何给 UIView设置Hide时候给它一个动画

UIView 的hide属性, 有时候我们希望它有一个动画效果, 最简短的一个动画效果就是下面这行代码, 在也不用把hide换成alpha才有动画效果了.

- (void)setView:(UIView*)view hidden:(BOOL)hidden {
    [UIView transitionWithView:view duration:0.5 options:
UIViewAnimationOptionTransitionCrossDissolve animations:^(void){
        [view setHidden:hidden];
    } completion:nil];
}

2. 如何设置父视图透明而子视图不透明

不用alpha,不妨试试下面这段代码

FatherView.backgroundColor = [[UIColor lightGrayColor] 
colorWithAlphaComponent:0.5];

3. 万能隐藏键盘的方法

在一些情况下, 可能我们并不很容易知道谁打开键盘, 所以我们需要一个万能关闭键盘的方法, 这样一段精简代码可以拯救你的人生.

[self.view endEditing:YES];

4. 第一次打开UITextField相应特别慢

当第一次运行应用时候, 点击输入框需要等1秒左右才会弹出键盘, 有木有觉得这个严重影响了用户体验 ? 青天哥交你一个小技巧:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        
        let textfield = UITextField()
        window?.addSubview(textfield)
        textfield.becomeFirstResponder()
        textfield.resignFirstResponder()
        textfield.removeFromSuperview()
        
        return true
    }

5. 如何把UINavigationBar底部那1px的线隐藏

for (UIView *view in self.navigationController.navigationBar.subviews) {
    for (UIView *view2 in view.subviews) {
        if ([view2 isKindOfClass:[UIImageView class]]) {
            [view2 removeFromSuperview];
        }
    }
}
以后会在开发过程中不断添加一些小技巧

未完待续...

参考文献:

  1. stackOverFlow解答

4.stackOverFlow

你可能感兴趣的:(关于UIView的一些小技巧)