小编Rog*_*are的帖子

查找与XCode调试器中的错误对应的行

当XCode输出错误时'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]:etc.,如何找到具有该objectAtIndex代码的代码行?

xcode objective-c

4
推荐指数
1
解决办法
2329
查看次数

不要忽略UIAlertView(没有子类化)

我用a UIAlertView来提示用户输入密码.如果密码正确,我希望警报视图正常消失; 如果密码不正确,我希望保留警报视图(文本更改为"请再试一次.").如何更改默认行为,以便在按下按钮时视图不会消失?

我已经尝试了建议的子类化方法是否有可能不解雇UIAlertView,但是dismissWithClickedButtonIndex我的子类中没有调用它.阅读文档后,我看到UIAlertView不支持子类化,所以我想尝试另一种方法.

如果这不可能UIAlertView,那么从头开始简单地进行密码查看是最好的选择吗?谢谢阅读.

passwords uialertview ios

3
推荐指数
1
解决办法
2704
查看次数

UIScrollView上的渐变蒙版更新缓慢

我有一个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)

它确实有效,但是有一个滞后。滚动后,渐变会随着内容滚动一会儿,然后恢复到预期位置。如何确保滚动视图的边缘淡出-滚动时渐变不移动?

gradient mask uiscrollview swift

3
推荐指数
1
解决办法
382
查看次数

为什么要使用@synthesize语句

当我第一次学习iOS编程时(我相信这是来自ARC斯坦福大学前的讲座),我们总是合成这样的属性:

@synthesize myProperty=_myProperty
Run Code Online (Sandbox Code Playgroud)

但是,这似乎是一段时间的默认行为.因此,省略此语句与将其保留完全相同.

我的问题是:给定这个默认行为,我们实际上想要使用@synthesize语句的一些实际示例是什么?

properties objective-c ios

2
推荐指数
1
解决办法
2579
查看次数

访问Interface Builder和/或Storyboard中的"文本样式"

在我的一个应用程序中,我有一个样式文档,其中包含不同文本样式的方法,例如:

+(UIFont*)h1{
    return [UIFont fontWithName:@"Helvetica" size:48.0];
}
Run Code Online (Sandbox Code Playgroud)

然后,在viewDidLoad每个视图控制器的方法中,我以编程方式设置文本样式.这是一种非常好的方法,可以使应用程序中的样式保持一致且易于调整.

这是我的问题:有没有办法让XIB文件/故事板反映这些文本样式?如果没有,有没有办法实现类似的功能(即,在一个地方定义所有样式,并从那里拉出XIB/Storyboard元素)?谢谢阅读.

编辑:

为了澄清,这是期望的最终结果:

  1. 在项目的某处定义一些常量文本样式,如h1,h2,p.每种文本样式都有自己的字体,字体大小,颜色等.
  2. 能够将UILabels我的各种视图中的样式设置为任何这些文本样式.这可以在代码中,在Interface Builder中完成(例如,在Luan建议的用户定义的运行时属性中),或者在任何地方.
  3. 能够在Interface Builder/Storyboard中查看应用于每个UILabel的样式,而无需每次都运行应用程序.

xcode storyboard xib ios

2
推荐指数
1
解决办法
1760
查看次数

目标C:实现drawRect

我有一个非常简单的项目,涉及使用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)

任何建议都会很棒 - 感谢阅读!

objective-c drawrect setneedsdisplay

1
推荐指数
1
解决办法
5804
查看次数

使用HTML的条件评论:澄清"gte"

除了IE8,IE9等之外,所有非IE浏览器都可以看到此条件注释中的HTML吗?

<!--[if gte IE 8]>html goes here<![endif]-->

html conditional-comments

1
推荐指数
1
解决办法
56
查看次数

可选绑定的命名约定

最初阻止我在代码中加入过多可选绑定的一件事是添加了更多变量名称.例如,我通常会写:

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新的变量名(在较大的代码块中难以阅读),但我想知道是否有一个普遍接受的变量名称样式标准可供使用可选绑定?谢谢阅读.

optional swift optional-binding

1
推荐指数
1
解决办法
573
查看次数

快捷操作符在目标C中工作吗?

在MATLAB中,如果键入if (a)&&(b),b则不测试是否a为false.如果第一个条件不成立,第二个条件会抛出错误,这非常方便.

在目标C中,情况似乎并非如此.所以,我的问题是:在if语句中有没有类似的方法来订购条件?或者这两个语句必须简单嵌套吗?(例如,if (a){ if(b) {.)

谢谢阅读.

if-statement objective-c

0
推荐指数
1
解决办法
177
查看次数

如何在JavaScript中从外部类调用"类方法"?

我在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)

javascript

0
推荐指数
1
解决办法
2534
查看次数