UIWindow繼承于UIView茎刚,可以說是一個(gè)特殊的UIView扣草,可以通過UIView來實(shí)現(xiàn)佳头。
UIWindow 是被系統(tǒng)控制的间影,應(yīng)該是被系統(tǒng)調(diào)用的注竿,一個(gè)ios應(yīng)用只有一個(gè)keyWindow,(上面的截圖應(yīng)該是一個(gè)UiWindow)魂贬,彈層上經(jīng)常會(huì)使用一個(gè)UIWindow 的內(nèi)容進(jìn)行實(shí)現(xiàn)巩割。
【首先創(chuàng)建一個(gè)Window,之后才在Window之上疊加多個(gè)view】
UIView 的使用方法:
一個(gè)UIView 可以包含有很多UIView随橘,也就是自圖層喂分,并且UIView中包含有一個(gè)root-layer,這樣就是我們能夠通過這個(gè)內(nèi)容來進(jìn)行實(shí)現(xiàn)机蔗。(UiView概念列斯pS中的圖層概念)
_alertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
_alertWindow.windowLevel = level;
_alertWindow.rootViewController = self;
【設(shè)置有關(guān)的window彈層】
http://www.cnblogs.com/wendingding/p/3770052.html
UIView的內(nèi)容鏈接
#if TARGET_IPHONE_SIMULATOR
let commonHost = "";
#else
let commonHost = "";
#endif
還有就是自定定義的編譯指令
- (instancetype)init {
if (self = [super init]) {
_data = [HostManagerDataServer new];
#ifdef ENV_TEST
[self switchToTest];
#else
[self switchToRelease];
#endif
}
return self;
}
這個(gè)就是我們通過設(shè)置編譯指令來實(shí)現(xiàn)是內(nèi)部環(huán)境還是外部環(huán)境
在iOS上的真機(jī)調(diào)試不了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.vanchu.apps.guimiquan</string>
</array>
</dict>
</plist>
應(yīng)該是一個(gè)安全文件萝嘁,影響真機(jī)調(diào)試