我有一个简单的UIButton子类,IBDesignable用IBInspectablevar 实现:
@IBDesignable class Button: UIButton {
@IBInspectable var borderColor: UIColor = UIColor.whiteColor() {
didSet { layer.borderColor = borderColor.CGColor }
}
}
Run Code Online (Sandbox Code Playgroud)
我没有在框架中使用它,它正在按照预期在Interface Builder中工作,但是,一旦我将此子类添加到我的Tests目标,它就会停止渲染实时,并且我得到以下错误:
Main.storyboard: error: IB Designables: Failed to update auto layout status: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
Main.storyboard: error: IB Designables: Failed to render instance of Button: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
如果我删除IBDesignable …
在我的代码中,我使用的UISegmentedControl是一个"按钮",只有一个段,momentary属性设置为YES.在iOS 4之前的SDK版本中,这不是问题,但现在看来iOS 4要求至少有2个段.以下代码抛出异常:
NSArray *titles = [NSArray arrayWithObject:@"Button Title"];
myButton = [[UISegmentedControl alloc] initWithItems:titles];
Run Code Online (Sandbox Code Playgroud)
现在在Interface Builder中,你甚至无法创建一个少于2个段的UISegmentedControl.它在构建时记录以下错误:
"分段控件的段数属性必须大于或等于2".
我有点难过.有没有解决这个问题?我尝试UISegmentedControl使用两个按钮创建一个,然后以编程方式删除一个按钮,因为它不会导致应用程序崩溃.我在iOS 3中获得了一个按钮而在iOS 4中没有任何内容.任何想法?
我正在尝试在MKPinAnnotationView后面添加一个图像.看起来这应该很容易在这里做到这一点:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
for (MKAnnotationView *aView in views)
[[aView superview] addSubview:imageView];
}
Run Code Online (Sandbox Code Playgroud)
但我遇到的问题是,针脚的子视图将呈现在它之上而不是它背后.
我也尝试过:
for (MKAnnotationView *aView in views)
[[aView superview] insertSubview:imageView atIndex:1];
Run Code Online (Sandbox Code Playgroud)
这个问题是,当它在引脚后面时,一旦地图重新定位,图像就会浮出屏幕.
有什么建议?谢谢