小编Sne*_*eha的帖子

iOS 13 中已弃用“UIActivityIndi​​catorViewStyleWhiteLarge”

由于 UIActivityIndi​​catorViewStyleWhiteLarge 现已在 iOS 13 中弃用,如何更改此行?

UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc]     
    initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios13

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

退格键和输入新字符后,NSRange `replaceCharactersInRange` 导致应用程序崩溃

我有一个文本字段,并使用shouldChangeCharactersInRange方法来获取值。

这是我的代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    NSLog(@"Pressing : %@\n", string);
    NSMutableString *text = [NSMutableString stringWithString:textField.text];

    NSLog(@"length: %lu", (unsigned long)range.length);
    NSLog(@"location: %lu\n", (unsigned long)range.location);
    NSLog(@"before text: %@", textField.text);

    [text replaceCharactersInRange:range withString:string];
    NSLog(@"After replacement , Text: %@\n\n", text);

    // My work..

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我首先将字符“T”添加到文本字段,它工作正常..

2016-03-02 10:06:23.162 MyTextFieldApp[12006:4323645] Pressing : T
2016-03-02 10:06:23.163 MyTextFieldApp[12006:4323645] length: 0
2016-03-02 10:06:23.163 MyTextFieldApp[12006:4323645] location: 0
2016-03-02 10:06:23.163 MyTextFieldApp[12006:4323645] before text: 
2016-03-02 10:06:23.163 MyTextFieldApp[12006:4323645] After replacement , Text: T
Run Code Online (Sandbox Code Playgroud)

然后,我退格它以删除字符,这也很好用。

2016-03-02 10:06:30.979 MyTextFieldApp[12006:4323645] …
Run Code Online (Sandbox Code Playgroud)

objective-c uitextfield ios nsrange

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

关闭UIPopOverPresentationcontroller

我有一个类ViewControllerA,我可以UIPopoverPresentationcontroller从中显示B类显示的数据,工作正常.当我在pop中选择一个值时,我想解雇它.我的代码如下

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSString *getLang=[self.myArr objectAtIndex:indexPath.row];
    if ([getLang isEqualToString:@"Ragul"]) {
        getLang=@"Received";
    }
    else if ([getLang isEqualToString:@"Gokul"])
    {
    getLang=@"Denied";
    }
    ViewControllerA *viewCont=[[ViewControllerA alloc]init];
    viewCont.delegate=self;
    [self  dismissViewControllerAnimated:YES completion:nil];

    [viewCont anOptionalMethod:getLang];
}
Run Code Online (Sandbox Code Playgroud)

anOptionalMethod是一个自定义委托方法,我调用它来显示从PopOver中选择的值的数据.

-(void)anOptionalMethod:(NSString *)langLocal
 { 
    [self viewDidLoad]; 
    self.popController.delegate = self; 
    [self.ContPop dismissViewControllerAnimated:YES completion:nil];
    self.langShown=YES; 
    lblText.Text=MyValue; 
    [self.view addSubview:lblText]; // This calls viewDidLoad method 
} 
Run Code Online (Sandbox Code Playgroud)

当我将结果添加到ViewControllerA[Self.view addSubview:MyValue]viewDidLoad方法被调用.所以这不应该发生.我知道这popOverPresentationController充当了父视图,因此我遇到了这个问题.所以请帮我解决这个问题.先感谢您..

iphone objective-c uipopovercontroller ios

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

如何在swift中更改设备大小时获取子视图的当前大小?

我必须查看:view_1和view_2.view_1高度与主视图控制器高度成正比,我以编程方式将view_2添加为view_1的子视图,其比例高度.

问题

当设备大小改变从iPhone 6到iPhone 5时,view_1正确调整但其高度我传递给绘制其子视图view_2的功能仍然是在界面构建器中设置的,因此它在iPhone 4移动时超出界限来自iPhone 6

因此,我想知道如何获得正确大小的视图,以便自动调整大小以适应当前设备?

ios view-bound swift

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

如何使NSTimer更准确?

在我的应用程序中,我在视图控制器上放置了一个标签,我希望该标签显示一个每毫秒递增1的数字.(我知道我可以每秒更新1000,但我希望它看起来很流畅)

@IBOutlet var label: UILabel!
var number = 0
var timer: NSTimer!

override func viewDidLoad() {
    super.viewDidLoad()
    timer = NSTimer.scheduledTimerWithTimeInterval(0.001, target: self, selector: Selector("addNumber"), userInfo: nil, repeats: true)
}

func addNumber () {
    number++
    label.text = number.description
}

override func viewDidDisappear(animated: Bool) {
    super.viewDidDisappear(animated)
    timer?.invalidate()
}
Run Code Online (Sandbox Code Playgroud)

代码对我来说都很合理,但是当我运行应用程序时,我发现这个数字每秒增加大约50,而不是每秒增加1000.这个错误远远不能接受!

令人惊讶的是,当我锁定屏幕几秒钟并再次解锁时,数字突然增加了几千!

我认为这是因为我在计时器触发时更新UI,因此需要更多时间.但我该如何解决这个问题呢?

nstimer ios swift

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