2011-12-08 27 views
0

我有動畫開放NSViewController,它嘗試添加子視圖:addSubview奇效

[self.view addSubview:joinToCompanyView]; 

joinToCompanyView.frame = NSMakeRect(self.view.frame.origin.x + self.view.frame.size.width/2 - joinToCompanyView.frame.size.width/2, self.view.frame.origin.y + self.view.frame.size.height/2 - joinToCompanyView.frame.size.height/2, joinToCompanyView.frame.size.width, joinToCompanyView.frame.size.height); 

後我添加此子視圖中,我有奇怪的模糊效果只是爲子視圖: enter image description here

任何想法會請推薦

回答

2

您的子視圖模糊不清,因爲該框架正在使用浮動數字。

要強制整數價值爲你的框架只是做:

[joinToCompanyView setFrame:CGRectIntegral(joinToCompanyView.frame)]; 

你也可以施放所有值組成的框架int,但CGRectIntegral做所有的工作適合你。

+0

爲macos一個解決方案有點複雜CGRect newRect = CGRectMake(viewToOpen.frame.origin.x,viewToOpen.frame.origin.y,viewToOpen.frame.size.width,viewToOpen.frame.size.height); CGRect updatedRect = CGRectIntegral(newRect); [viewToOpen setFrame:NSRectFromCGRect(updatedRect)]; – user170317

+0

是的,但你明白了。如果將幀設置爲浮點數,則在屏幕上顯示時會出現模糊。由於渲染可能不是像素那樣精確。當框架座標四捨五入時,這一點很重要。 –