Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • ios 开发

    post by onelong / 2013-12-26 19:20 Thursday [apple]

    最近在折腾ios的开发,遇见了很多问题,但是这些问题都一一解决了.在xcode5开发

    遇见的第一个问题就是 SegmentedControl变黑色了.因为我是在xcode5上使用sdk6.1的,因为要使用ios6的UI。后来的解决办法是:

    - (void)fixSegmentedControlForiOS7

    {

        NSInteger deviceVersion = [[UIDevice currentDevice] systemVersion].integerValue;

        if(deviceVersion < 7) // If this is not an iOS 7 device, we do not need to perform these customizations.

            return;

     

        NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:

                                    [UIFont boldSystemFontOfSize:12], UITextAttributeFont,

                                    [UIColor whiteColor], UITextAttributeTextColor,

                                    nil];

        [self.segmentedControl setTitleTextAttributes:attributes forState:UIControlStateNormal];

        NSDictionary *highlightedAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];

        [self.segmentedControl setTitleTextAttributes:highlightedAttributes forState:UIControlStateHighlighted];

     

        self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

        self.segmentedControl.tintColor = [UIColor colorWithRed:49.0 / 256.0 green:148.0 / 256.0 blue:208.0 / 256.0 alpha:1];

    }

    awakeFromNib和viewDidLoad
     
    awakeFromNib
    当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。
    也就是说只有通过.nib文件创建view对象时才会执行awakeFromNib 。
    一般的,当IB加载的时候,我们会通过调用自定义对象的awakeFromNib函数,来对界面进行补充。
    选择的时机:当你需要写一个UIView的子类并且想在load nib的时候做一些初始化工作的时候很有用。bundle在load nib后会给每个view对象发送一个awakeFromNib消息。
    viewDidLoad
    当view对象被加载到内存时就会执行viewDidLoad,所以不管是通过.nib文件还是以代码的方式创建对象都会执行viewDidLoad。
     
    ios网络提示和跳到设置
    如果 iOS 程序中用到了 WiFi,想有 WiFi 提示,只需要在 .plist 文件中加入如下 Key/Value 即可:
    键名:Application uses Wi-Fi 值:YES
    键名:SBUsesNetwork 值:3
    Application uses Wi-Fi

    UITableView 行分割线不到头,短线问题

    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {

        [self.tableView setSeparatorInset:UIEdgeInsetsZero];

    }

    如何自定义返回按钮

    ios默认的返回按钮不是可以覆盖的。修改默认的是相当的麻烦,还不好看。所以大家都是自己定义leftbutton的。如果要统一修改,要自己写积累,在viewDidload上面修改。

    标签: ios
    引用地址:
     

    我要评论