为什么clipsToBounds的行为与我的期望相反?

时间:2015-03-04 22:51:17

标签: ios swift uikit

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
    }
}

我得到以下结果:

Swift Clips To Bounds

(对任何色盲的人道歉,顶部框为红色,底部框为蓝色......它们在界面构建器中正确连接)

同时,给出以下非常等效的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

我得到以下结果,结果非常相反:

ObjC Clips To Bounds

(向色盲的人道歉,再一次,顶盒是红色的,底盒是蓝色的,他们仍然以与Swift实施相同的方式连接起来连接起来)

我忽略了一些非常明显的事情吗?或者这是一个Swift bug?我使用相同的IB文件,只是更改了视图控制器的类(并将按钮挂起来)。

为了验证我正确地连接了视图:

Swift Red View Swift Blue View ObjC Red View ObjC Blue View

0 个答案:

没有答案