小编KSR*_*KSR的帖子

UIView - 持续时间的动画似乎忽略了持续时间

我遇到了一个问题:我有一个非常简单的习惯UIView,它将一个UITextField和一个组合在一起UILabel.

UILabel是对UITextField的,我想的是,UILabel当用户开始编辑上升到40像素UITextField.

我正在使用约束来设置文本字段的框架和标签的框架.

所以我只是在我的自定义视图中使用UITextFieldDelegate协议设置委托,并实现委托方法:textFieldDidBeginEditing,如下:

我只是在委托方法中设置标签的约束(中心Y).

func textFieldDidBeginEditing(textField: UITextField) {
    self.centerVerticallyLabelConstraint.constant = -40
    UIView.animateWithDuration(0.5) {
        self.textFieldLabel.layoutIfNeeded()
    }
}
Run Code Online (Sandbox Code Playgroud)

会发生什么事情是UILabel正确的,但它会立即上升.它忽略了0.5我动画中的持续时间.我不知道为什么:

显示问题图像

我不是同时动画其他东西,我只有这个动画.我没有禁用动画为UIView. 委托设置为我的UITextfield.

任何的想法?

animation uiview uiviewanimation ios swift

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

fastlane工具和xcode8,我还应该使用吗?

我正在使用fastlane工具来处理Xcode 7中的所有签名需求.当我开始使用Xcode 8时,我遇到了一些问题.Xcode 8引入了一种新的"自动"签名方法.我仍然能够使用fastlane工具,告诉Xcode不要使用自动签名,并在禁用自动复选框时选择签名选项中出现的正确值.

我想开始使用自动签名选项,但我不是100%确定如何使用fastlane正确地完成它.我相信我需要了解如何使用PROVISIONING_PROFILE_SPECIFIER选项?

谁能解释一下fastlane应该如何使用Xcode 8自动签名?

xcode ios xcode7 fastlane xcode8

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

使用自动布局时在layoutSubviews中添加子视图是否正确

我写了这样的代码,效果很好

@interface SubView()
@property(nonatomic,strong) UIButton* btn;
@end

@implementation SubView


- (void)layoutSubviews
{
    [super layoutSubviews];
    [self.btn removeFromSuperview];
    self.btn = [UIButton buttonWithType:UIButtonTypeCustom];
    self.btn.backgroundColor = [UIColor greenColor];
    [self.btn setTitle:@"btn" forState:UIControlStateNormal];
    self.btn.translatesAutoresizingMaskIntoConstraints = NO;
    [self addSubview:self.btn];

    NSLayoutConstraint* centerXConstraint = [self.btn.centerXAnchor constraintEqualToAnchor:self.centerXAnchor];
    NSLayoutConstraint* centerYConstraint = [self.btn.centerYAnchor constraintEqualToAnchor:self.centerYAnchor];
    [self addConstraint:centerXConstraint];
    [self addConstraint:centerYConstraint];
}
@end
Run Code Online (Sandbox Code Playgroud)

但在我看来,使用Autolayout时,系统会分两步进行布局1 Update Pass 2 Layout Pass,而layoutSubviews在第2步(Layout Pass)

所以如果我们在layoutSubviews中添加子视图,看起来它会改变视图的约束,所以我们需要再次执行更新传递和布局传递,所以它会生成一个无限循环..

但事实上,这段代码运行得很好,那么我错在哪里呢?

objective-c ios autolayout

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

React-native是否与IOS 10兼容?

现在不久,IOS10发布了.那些与之反应本土发展会想知道,如果它是兼容!我想要升级我的iPhone,但我担心如果我这样做,我将无法在其上测试我的React原生应用程序.

是否存在兼容性问题?RN社区是否会尝试补偿较旧的IOS版本以及IOS 10?任何信息都有帮助!!

compatibility ios react-native ios10

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

在Swift中重用UIButton属性的最佳方法是什么?

我有一堆按钮,UIToolbar当我UITextField点击使用时,我正在添加这些按钮inputAccessoryView.所有这些按钮都是相同的标题以外的什么,我想能够做的就是重用UI属性,如titleColor,frame等.

什么是完成我上面描述的最有效的方法?

这是代码......

    // code for first button
    let button1 = UIButton();
    button1.backgroundColor = UIColor.orangeColor()
    button1.setTitle("button1", forState: .Normal)
    button1.setTitleColor(UIColor.whiteColor(), forState: .Normal)
    button1.setTitleColor(UIColor.orangeColor(), forState: .Highlighted)
    button1.frame = CGRect(x:0, y:0, width:35, height:35)
    button1.addTarget(self, action: #selector(myFunction), forControlEvents: UIControlEvents.TouchUpInside)

    // code for second button which is identical to the first button
    let button2 = UIButton();
    button2.backgroundColor = UIColor.orangeColor()
    button2.setTitle("button2", forState: .Normal)
    button2.setTitleColor(UIColor.whiteColor(), forState: .Normal)
    button2.setTitleColor(UIColor.orangeColor(), forState: .Highlighted)
    button2.frame = CGRect(x:0, y:0, width:35, height:35)
    button2.addTarget(self, …
Run Code Online (Sandbox Code Playgroud)

uibutton uitextfield uitoolbar ios swift

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

在UItableView中处理UItextfield的委托

我在UItable的一个单元格中有一个UItextfield,我想从文本字段返回后可以执行几个步骤:

  1. 在开始和结束时清除emptyspace(修剪空白)
  2. 辞职第一响应者(隐藏键盘)
  3. 设置单元格被选中
  4. 将字段的文本内容附加到[String]中

但到目前为止我只能执行其中一些,因为第3点在TableViewCell类中,但第4点在TableViewController中.我试图让UItextField出口到这两个类,但它不工作Text_NewName.delegate = self或者我应该访问UITableViewCell类中的[String]?但是当我试图将它作为子类时,swift提示错误'来自类的多重继承'

我相信我的知识肯定有一些差距,使这些功能变得困难,请让我知道是否有更简单的方法使其工作.

这是代码:

class Namelist_ADDName_TVCell: UITableViewCell, UITextFieldDelegate {
override func awakeFromNib() {
    super.awakeFromNib()
    Text_NewName.delegate = self
}
@IBOutlet weak var Text_NewName: UITextField!

func textFieldShouldReturn(_ textField: UITextField) -> Bool {

    textField.text = textField.text?.trimmingCharacters(in: .whitespaces)
    textField.resignFirstResponder()

    if textField.text != "" {
        self.isSelected = true
        return true
    } else {
        self.isSelected = false
        return false
    }

}
Run Code Online (Sandbox Code Playgroud)

另一个快速文件:

class PickNameTVC: UITableViewController, UITextFieldDelegate {

var selectedlist : [String]?

func textFieldShouldReturn(_ theTextfield: UITextField) -> Bool {

    if theTextfield.text …
Run Code Online (Sandbox Code Playgroud)

uitableview ios uitextfielddelegate swift

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

AppLovin SDK for iOS 出现“无法识别的选择器发送到实例”错误

我正在尝试通过以下步骤为 iOS 集成 AppLovin,但发生错误您知道如何解决此问题吗?

  1. 下载适用于 iOS 的 AppLovin SDK 并将 AppLovinSDK.framework 拖到我的项目中。
  2. 添加依赖框架。
    • 广告支持
    • AV基金会
    • 核心图形
    • 核心媒体
    • 核心电话
    • StoreKit(新)
    • 系统配置
    • 用户界面工具包
    • WebKit(可选)
  3. 将我的 AppLoin SDK 密钥添加到 info.plist。
  4. 将初始化片段添加到 AppDelegate.m。

    #import <AppLovinSDK/AppLovinSDK.h>
    // ...
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        [ALSdk initializeSdk];
        return YES;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 添加片段以显示广告到 ViewController.m。

    #import <AppLovinSDK/AppLovinSDK.h>
    // ...
    - (void)viewDidLoad {
        [super viewDidLoad];
        if([ALInterstitialAd isReadyForDisplay]){
            [ALInterstitialAd show];
        }
        else{
            NSLog(@"Failed");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  6. 运行应用程序,出现以下堆栈跟踪错误:

    2017-01-03 11:09:58.437 AppLovinSample[80329:1731987] -[NSTaggedPointerString al_containsSubstring:]: unrecognized selector …
    Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

如何通过点击屏幕关闭键盘

我正在快速寻找一个简单的解决方案,以添加点击屏幕上任意位置并关闭键盘的功能。我在这里阅读了很多答案,但它们都为我抛出了错误。我之前用过的一个是这样的:

override func viewDidLoad() {
    super.viewDidLoad()


   let tap: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: #selector(ViewController.dismissKeyboard))

    view.addGestureRecognizer(tap)
Run Code Online (Sandbox Code Playgroud)

这适用于我的一个项目,但似乎不适用于任何其他项目。每当我尝试将其添加到其他项目时,我都会收到错误类型“ViewController”没有成员“dismissKeyboard”。

keyboard ios swift

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

为什么在swift中不允许使用开关盒的概念?

var index = 30

switch index {

   case 10  :    
      println( "Value of index is 10")
   case 20  :

   case 30  :    
      println( "Value of index is either 20 or 30")
   case 40  :    
      println( "Value of index is 40")
   default :    
      println( "default case")
}
Run Code Online (Sandbox Code Playgroud)

switch-statement ios swift

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

为什么NSURLSession.dataTaskWithURL()不调用我的完成处理程序?

我正在尝试JSON从Web服务器加载文件.以下是我启动请求的方式:

let url:NSURL? = NSURL(string: lookupUrlFragment + query)

// Check if an actual url object was created
if let actualUrl = url {

    // Create a default NSURLSessionConfiguration
    let sessionConfig:NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()

    // Create a default session
    let session:NSURLSession = NSURLSession(configuration: sessionConfig)

    session.dataTaskWithURL(actualUrl, completionHandler: {
        (data:NSData?, response:NSURLResponse?, error:NSError?) in
        NSLog("Got data = \(data)")
        NSLog("Got response = \(response)")
        NSLog("Got error = \(error)")
        self.searchResults = data
        self.delegate?.searchResultsAreReady()
   })
}
Run Code Online (Sandbox Code Playgroud)

我已经使用调试器完成了这段代码.当它调用dataTaskWithURL()实际Url的值是正确的.如果我从网络浏览器点击它,我会得到该JSON文件.但完成处理程序永远不会被调用.它永远不会在我在完成处理程序中设置的断点处停止,并且调试器日志中不会显示任何输出.

我已经尝试使用完成处理程序在一个单独的函数而不是一个闭包,但行为是相同的.

谁能告诉我为什么我的完成处理程序没有被调用?

json ios nsurlsession swift

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