当XCode输出错误时'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]:etc.,如何找到具有该objectAtIndex代码的代码行?
我用a UIAlertView来提示用户输入密码.如果密码正确,我希望警报视图正常消失; 如果密码不正确,我希望保留警报视图(文本更改为"请再试一次.").如何更改默认行为,以便在按下按钮时视图不会消失?
我已经尝试了建议的子类化方法是否有可能不解雇UIAlertView,但是dismissWithClickedButtonIndex我的子类中没有调用它.阅读文档后,我看到UIAlertView不支持子类化,所以我想尝试另一种方法.
如果这不可能UIAlertView,那么从头开始简单地进行密码查看是最好的选择吗?谢谢阅读.
我有一个UIScrollView包含非常广泛的UIView子类的子类,并且我希望淡出可见内容的边缘。这是UIScrollView子类中的内容:
private var gradientMask = CAGradientLayer()
override func layoutSubviews() {
super.layoutSubviews()
gradientMask.frame = self.bounds
gradientMask.colors = [UIColor(white: 0.0, alpha: 0.18).CGColor,
UIColor(white: 0.0, alpha: 0.95).CGColor,
UIColor(white: 0.0, alpha: 0.95).CGColor,
UIColor(white: 0.0, alpha: 0.0).CGColor
]
let fadeStart:CGFloat = 50.0 / self.bounds.width
gradientMask.startPoint = CGPoint(x:0, y:0.5)
gradientMask.endPoint = CGPoint(x:1, y:0.5)
let fadeEnd = (self.bounds.width - 40.0) / self.bounds.width
gradientMask.locations = [fadeStart,fadeStart+0.1,fadeEnd,1.0]
self.layer.mask = gradientMask
}
Run Code Online (Sandbox Code Playgroud)
它确实有效,但是有一个滞后。滚动后,渐变会随着内容滚动一会儿,然后恢复到预期位置。如何确保滚动视图的边缘淡出-滚动时渐变不移动?
当我第一次学习iOS编程时(我相信这是来自ARC斯坦福大学前的讲座),我们总是合成这样的属性:
@synthesize myProperty=_myProperty
Run Code Online (Sandbox Code Playgroud)
但是,这似乎是一段时间的默认行为.因此,省略此语句与将其保留完全相同.
我的问题是:给定这个默认行为,我们实际上想要使用@synthesize语句的一些实际示例是什么?
在我的一个应用程序中,我有一个样式文档,其中包含不同文本样式的方法,例如:
+(UIFont*)h1{
return [UIFont fontWithName:@"Helvetica" size:48.0];
}
Run Code Online (Sandbox Code Playgroud)
然后,在viewDidLoad每个视图控制器的方法中,我以编程方式设置文本样式.这是一种非常好的方法,可以使应用程序中的样式保持一致且易于调整.
这是我的问题:有没有办法让XIB文件/故事板反映这些文本样式?如果没有,有没有办法实现类似的功能(即,在一个地方定义所有样式,并从那里拉出XIB/Storyboard元素)?谢谢阅读.
编辑:
为了澄清,这是期望的最终结果:
UILabels我的各种视图中的样式设置为任何这些文本样式.这可以在代码中,在Interface Builder中完成(例如,在Luan建议的用户定义的运行时属性中),或者在任何地方.我有一个非常简单的项目,涉及使用drawRect绘制一个形状,但我不相信我的drawRect函数实际上是被调用的.这是代码.(其他所有内容都只是"单一视图应用程序"的默认设置.)
-(void)drawRect:(CGRect)aRect{
NSLog(@"testing...");
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextBeginPath(context);
CGContextMoveToPoint(context, 50, 50);
CGContextAddLineToPoint(context, 100, 120);
CGContextAddLineToPoint(context, 20, 100);
CGContextClosePath(context);
[[UIColor greenColor] setFill];
[[UIColor redColor] setStroke];
CGContextDrawPath(context,kCGPathFillStroke);
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)
任何建议都会很棒 - 感谢阅读!
除了IE8,IE9等之外,所有非IE浏览器都可以看到此条件注释中的HTML吗?
<!--[if gte IE 8]>html goes here<![endif]-->
最初阻止我在代码中加入过多可选绑定的一件事是添加了更多变量名称.例如,我通常会写:
if bananasInBarrel != nil{
print("We have \(bananasInBarrel!) bananas in the barrel.")
}
Run Code Online (Sandbox Code Playgroud)
因为替代方案似乎有点乱:
if let safeBananas = bananasInBarrel{
print("We have \(safeBananas) bananas in the barrel.")
}
Run Code Online (Sandbox Code Playgroud)
那是很多香蕉.我见过人们使用的东西就像b新的变量名(在较大的代码块中难以阅读),但我想知道是否有一个普遍接受的变量名称样式标准可供使用可选绑定?谢谢阅读.
在MATLAB中,如果键入if (a)&&(b),b则不测试是否a为false.如果第一个条件不成立,第二个条件会抛出错误,这非常方便.
在目标C中,情况似乎并非如此.所以,我的问题是:在if语句中有没有类似的方法来订购条件?或者这两个语句必须简单嵌套吗?(例如,if (a){ if(b) {.)
谢谢阅读.
我在JavaScript中有一些代码,我希望ViewModel使用键盘快捷键来触发方法.什么是正确的语法?这是我的代码:
document.addEventListener('keydown', function(event) {
if (event.keyCode==27){
ViewModel.escapePressed();
}
}, true);
function ViewModel() {
this.escapePressed=function(){
// Code
};
}
Run Code Online (Sandbox Code Playgroud) objective-c ×4
ios ×3
swift ×2
xcode ×2
drawrect ×1
gradient ×1
html ×1
if-statement ×1
javascript ×1
mask ×1
optional ×1
passwords ×1
properties ×1
storyboard ×1
uialertview ×1
uiscrollview ×1
xib ×1