I know how clipsToBounds
works.或者......至少,我以为我做过了。
给出以下Swift代码:
class ViewController: UIViewController {
@IBOutlet weak var redView: UIView!
@IBOutlet weak var blueView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
self.redView.clipsToBounds = false
self.blueView.clipsToBounds = true
}
}
我得到以下结果:
(对任何色盲的人道歉,顶部框为红色,底部框为蓝色......它们在界面构建器中正确连接)
同时,给出以下非常等效的Objective-C代码:
@interface ObjcController()
@property (weak, nonatomic) IBOutlet UIView *redView;
@property (weak, nonatomic) IBOutlet UIView *blueView;
@end
@implementation ObjcController
- (void)viewDidLoad {
[super viewDidLoad];
self.redView.clipsToBounds = NO;
self.blueView.clipsToBounds = YES;
}
@end
我得到以下结果,结果非常相反:
(向色盲的人道歉,再一次,顶盒是红色的,底盒是蓝色的,他们仍然以与Swift实施相同的方式连接起来连接起来)
我忽略了一些非常明显的事情吗?或者这是一个Swift bug?我使用相同的IB文件,只是更改了视图控制器的类(并将按钮挂起来)。
为了验证我正确地连接了视图: