我一直在用这个:
UIApplication.sharedApplication().keyWindow?.rootViewController!.view.addSubview(self.customView)
在app中的视图层次结构中的所有视图上添加模态视图。
但这给了我一个问题。它有时会按预期添加子视图,但有时它不起作用。 在什么情况下这不会起作用,在UIAlertView等视图层次结构中添加模态视图的最佳方法是什么。
答案 0 :(得分:4)
根据发生的情况,一次可以有多个UIWindow - 例如,如果出现系统警报,您将有两个单独的窗口(一个用于视图控制器,一个用于警报本身)。登记/> 可以对系统键盘进行类似的示例。如果键盘有焦点,那将是你的keyWindow。
确保在所有窗口之上添加子视图的方法可以是:UIApplication.sharedApplication().delegate?.window
。
我也看到有人使用应用程序委托:public class ArrayCheck {
/**
* Tests all elements of the given array, if they are divisible by the given
* divisor.
*
* @param arr
* array to be tested
* @param divisor
* number by which all elements of the given array should be
* divisible
* @return true if all elements are divisible by divisor
*/
public boolean allDivisibleBy(ArrayList<Integer> arr, int divisor) {
// check if number is dividable or if number is 0
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i) != 0) {
if (divisor == 0)
return false;
else if (arr.get(i) % divisor != 0)
return false;
}
}
return true;
}
}
。