小编div*_*gio的帖子

从NIB加载视图,即使其他IBOutlet工作正常,IBOutletCollection也是零

我在NIB文件中布局了一个视图,然后将我的UIView子类添加为文件所有者.

子类看起来像这样:

@property (nonatomic, weak) IBOutlet UILabel *categoryLabel;
@property (nonatomic, weak) IBOutletCollection(UIImageView) NSArray *images;
Run Code Online (Sandbox Code Playgroud)

由于这个原因,属性很弱:https://stackoverflow.com/a/7729141/1016515

然后我将标签和UIB中的UIImageViews从视图连接到文件所有者.

然后,在子类的awakeFromNib部分,我这样做了:

[[NSBundle mainBundle] loadNibNamed:@"CategoryButton" owner:self options:nil];
NSLog(@"label: %@",self.categoryLabel);
NSLog(@"images: %@",self.images);
Run Code Online (Sandbox Code Playgroud)

我希望看到categoryLabel和图像的地址.相反,我发现类别标签很好,图像是nil.

这是非常令人费解的,因为声明imagescategoryLabel相同.为什么一个工作而另一个工作失败?

xcode objective-c interface-builder ios

17
推荐指数
1
解决办法
3378
查看次数

如何本地化关键UIApplicationShortcutItemTitle

我该如何本地化密钥UIApplicationShortcutItemTitle

我知道本地化是如何工作的像钥匙NSLocationUsageDescriptionNSLocationAlwaysUsageDescription:你把你定位在InfoPlist.strings文件.

但是,这些是文档路径中的唯一键.

在这种情况下,我将为UIApplicationShortcutItemTitle每个快速操作设置一个,嵌套在字典和数组中.

如何本地化这些嵌套值?

quickaction ios9

7
推荐指数
1
解决办法
519
查看次数

viewWillAppear期间的静态UITableViewCell更改未反映在显示中

我使用UITableViewCell情节提要中配置的一些static 来显示一些设置信息。

如果将其他设置之一关闭,则应禁用其他一些单元。

为了使单元格进入适当的状态,在此期间,viewWillAppear我从NSUserDefaults中读取了设置,然后相应地更改了单元格。

- (void) viewWillAppear:(BOOL)animated
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"OtherCellEnabled"]) {
            [self otherCell].alpha = 1.0;
            [self otherCell].userInteractionEnabled = YES;
        }
        else {
            NSLog(@"Changing alpha to 0.3");
            [self otherCell].alpha = 0.3;
            [self otherCell].userInteractionEnabled = NO;
        }
Run Code Online (Sandbox Code Playgroud)

问题是,当我实际运行该程序时,即使它在日志中说Alpha已更改,但Alpha实际上并没有更改。的userInteractionEnabled似乎确实棒,但是阿尔法在1.0离开。

这不是单元重用的问题,也不是单元没有及时实例化的问题,因为可以更改其他设置。

将其从cell.alpha更改为cell.contentView.alpha是可行的,但这是不同的设置。

似乎所有设置都“粘住了”,但alpha设置已被覆盖。

objective-c uitableview ios

4
推荐指数
1
解决办法
2187
查看次数