- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
给定(任意):
CGRect frame = CGRectMake(0.0f, 0.0f, 100.0f, 30.0f);
下面两个代码片段有什么区别?
1.
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = frame;
2.
UIButton *button = [[[UIButton alloc] initWithFrame:frame] autorelease];
最佳答案
我认为它们是等价的。哈哈!诡计多端的问题,你这个鬼鬼祟祟的小混混!
-buttonWithType:
返回一个自动释放的 UIButton
对象。
+[NSObject alloc]
默认标量实例变量为 0
,所以 buttonType
应该是 0
,或 UIButtonTypeCustom
。
您可能会争辩说,使用 -buttonWithType:
并显式设置 buttonType
会更清晰,并且如果 Apple 更改 UIButtonTypeCustom
会更安全> 为 1
而不是 0
(这肯定永远不会发生)。
另一方面,您也可以争辩说使用 -initWithFrame
足够清晰和安全。此外,许多 Xcode 示例项目(例如“TheElements”和“BubbleLevel”)都使用这种方法。一个优点是您可以在应用程序主线程的运行循环耗尽其自动释放池之前显式释放 UIButton
。而且,这就是为什么我更喜欢选项 2。
关于ios - UIButton - alloc initWithFrame : vs. buttonWithType:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6245882/
var view: MKPinAnnotationView view.rightCalloutAccessoryView = UIButton.buttonWithType(.DetailDisclo
我希望能够创建一个具有超大响应区域的 UIButton。我知道实现此目的的一种方法是重写子类中的 hitTest 方法,但是如何首先实例化我的自定义按钮对象? [OversizedButton but
问候, 在我的一个项目中,我想在导航栏中创建返回类型按钮(带指针),我搜索了一下,发现使用以下代码可以实现。 UIButton *someButton = [UIButton buttonWithTy
给定(任意): CGRect frame = CGRectMake(0.0f, 0.0f, 100.0f, 30.0f); 下面两个代码片段有什么区别? 1. UIButton *button
如果我子类化 UIButton 并使用其 buttonWithType: 方法创建 button,它是否会返回一个 UIButton code> 还是子类实例? 例如: @interface MyBu
我在 Storyboard中添加了按钮,如下图所示: 我还在头文件中添加了如下代码所示的代码: #import @interface ViewController : UIViewContr
我有一个旧版本的 Swift 并尝试这样做: let button = UIButton.buttonWithType(UIButtonType.detailDisclosure) as UIButt
这个问题在这里已经有了答案: buttonWithType' is unavailable: use object construction 'UIButton(type:) (1 个回答) 关闭
我是一名优秀的程序员,十分优秀!