iOS中判斷某個(gè)控件是否顯示在主窗口

判斷某個(gè)控件是否顯示在主窗口的四個(gè)條件:  
1、是否加入主窗口  
2、是否隱藏  
3、透明度是否大于0.01  
4、是不是在當(dāng)前窗口上(關(guān)鍵點(diǎn)根據(jù)frame判斷的時(shí)候控件的frame是不是以當(dāng)前窗口的左上角點(diǎn)為基準(zhǔn)判斷)

 - (BOOL)isShowingOnKeyWindow 
{ 
 //主窗口 
 UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; 
  
 //以窗口的左上角為坐標(biāo)原點(diǎn),計(jì)算self的矩形框 
 CGRect newFrame = [keyWindow convertRect:self.frame fromView:self.superview]; 
 CGRect windowBounds = keyWindow.bounds; 
 //判斷newFrame是不是在windowBounds上
 BOOL isOnWindow = CGRectIntersectsRect(newFrame, windowBounds);
 
 return self.window == keyWindow && !self.hidden && self.alpha > 0.01 && isOnWindow;
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容