Questions tagged «objective-c»

仅在有关Objective-C功能或取决于语言代码的问题上使用此标记。标签[cocoa]和[cocoa-touch]应该用于询问Apple的框架或类。使用相关标签[ios],[macos],[apple-watch]和[tvos]来解决特定于这些平台的问题。

6
为UIView子类加载Nib的正确方法
我知道以前曾问过这个问题,但答案是矛盾的,我很困惑,所以请不要解雇我。 我希望UIView在我的整个应用程序中都有一个可重用的子类。我想用一个nib文件描述接口。 现在,我们说这是一个带有活动指示器的加载指示器视图。我想在某个事件上实例化此视图并为视图控制器的视图添加动画。我可以以编程方式描述视图的界面,以编程方式创建元素并在init方法中设置其框架等。 但是,如何使用笔尖呢?保持界面生成器中给定的大小,而无需设置框架。 我已经设法做到了,但是我确定这是错误的(只是一个带有选择器的视图): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } 但是我覆盖了自我,当我实例化它时: FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …


8
向下移动UITabBarItem图像?
通常,在的每个标签上,UITabBar您都有一个小图像,并为该标签命名。图像在选项卡顶部定位/居中,以适应下面的标题。我的问题是:如果您想拥有一个只有图像且没有标题的tabBar,是否有办法将图像向下移动,使其在选项卡中更好地居中? 我目前正在使用(见下文): [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; 但是我更喜欢使用没有标题的较大图像,目前,如果我将图像放大到大约70pixels @ 2x左右,它将开始从顶部UITabBar溢出,同时在底部留下大量未使用的空间。

10
如何摆脱Xcode中的“未使用变量”警告?
我完全理解为什么会发生未使用的变量警告。我一般不想抑制它们,因为它们在大多数情况下都非常有用。但是,请考虑以下(伪造的)代码。 NSError *error = nil; BOOL saved = [moc save:&error]; NSAssert1(saved, @"Dude!!1! %@!!!", error); Xcode报告这saved是一个未使用的变量,当然不是。我怀疑这是因为NSAssert1是宏。该NS_BLOCK_ASSERTIONS宏没有定义,那么目标C断言肯定启用。 尽管它没有任何伤害,但我发现它不整洁和令人讨厌,并且我想抑制它,但是我不确定该怎么做。将变量分配给自身可以摆脱编译器警告,但是如果存在这种情况,我宁愿以“正确”的方式进行操作。

4
UIFont-如何获取系统细字体
UIFont有获取常规字体(systemFontOfSize)或粗体字体(boldSystemFontOfSize)的方法,但是如何通过情节提要获得“薄系统字体”? 将“ system-thin”传递给UIFontContructor不起作用,该构造函数仅适用于非系统字体。


14
获取当前页面
在我的滚动视图中,我想获取正在显示的当前页面(也许页面不是正确的术语)。我找不到任何保存此变量。但是我认为它必须放在某个地方,因为指示器能够显示当前正在显示滚动视图的哪个子视图。 这是对我们完全隐藏的还是我有办法访问它?



7
iPad纵向和横向模式的尺寸调整类
我基本上想使用xcode 6中引入的尺寸调整类,根据iPad的方向(纵向或横向)使子视图的位置不同。我发现了很多教程,它们解释了IB上纵向和横向的iPhone如何使用不同的尺寸分类。但是,似乎没有人能够涵盖IB上iPad的个人横向或纵向模式。有人可以帮忙吗?

10
获取对iOS应用程序中最顶层视图/窗口的引用
我正在创建一个可重用的框架,用于在iOS应用程序中显示通知。我希望将通知视图添加到应用程序中所有其他内容的顶部,就像UIAlertView一样。当我初始化监听NSNotification事件并添加视图作为响应的管理器时,我需要获取对应用程序中最顶层视图的引用。这是我目前所拥有的: _topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject]; 这是否适用于任何iOS应用程序,或者是获取顶视图的更安全/更好的方法?

6
如何将std :: string转换为NSString?
嗨,我正在尝试将标准std::string转换为,NSString但运气不佳。 我可以从一个成功地转换NSString为std::string用下面的代码 NSString *realm = @"Hollywood"; std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]]; 但是当我尝试以下操作时出现编译时错误 NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]]; 我得到的错误是 Cannot convert 'std::string' to 'const char*' in argument passing 我在这里想念什么吗? 提前致谢。

13
如何在可可中与原始类型一起使用performSelector:withObject:afterDelay:?
该NSObject方法performSelector:withObject:afterDelay:允许我在一定时间后使用对象参数调用对象上的方法。它不能用于带有非对象参数的方法(例如,整数,浮点数,结构,非对象指针等)。 使用带有非对象参数的方法来实现相同目的的最简单方法是什么?我知道对于regular performSelector:withObject:,解决方案是使用NSInvocation(顺便说一句,这确实很复杂)。但是我不知道如何处理“延迟”部分。 谢谢,


5
id是什么意思?
我(正在尝试)学习Objective-C,并且不断遇到如下短语: -(id) init; 而且我知道这id是一个Objective C语言关键字,但是说“编译器id根据指针类型转换规则专门对待”是什么意思? 是否id自动将其右边的对象指定为指针?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.