我遇到了一个问题:我有一个非常简单的习惯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.
任何的想法?
我正在使用fastlane工具来处理Xcode 7中的所有签名需求.当我开始使用Xcode 8时,我遇到了一些问题.Xcode 8引入了一种新的"自动"签名方法.我仍然能够使用fastlane工具,告诉Xcode不要使用自动签名,并在禁用自动复选框时选择签名选项中出现的正确值.
我想开始使用自动签名选项,但我不是100%确定如何使用fastlane正确地完成它.我相信我需要了解如何使用PROVISIONING_PROFILE_SPECIFIER选项?
谁能解释一下fastlane应该如何使用Xcode 8自动签名?
我写了这样的代码,效果很好
@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中添加子视图,看起来它会改变视图的约束,所以我们需要再次执行更新传递和布局传递,所以它会生成一个无限循环..
但事实上,这段代码运行得很好,那么我错在哪里呢?
现在不久,IOS10发布了.那些与之反应本土发展会想知道,如果它是兼容或不!我想要升级我的iPhone,但我担心如果我这样做,我将无法在其上测试我的React原生应用程序.
是否存在兼容性问题?RN社区是否会尝试补偿较旧的IOS版本以及IOS 10?任何信息都有帮助!!
我有一堆按钮,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) 我在UItable的一个单元格中有一个UItextfield,我想从文本字段返回后可以执行几个步骤:
但到目前为止我只能执行其中一些,因为第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) 我正在尝试通过以下步骤为 iOS 集成 AppLovin,但发生错误您知道如何解决此问题吗?
将初始化片段添加到 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)添加片段以显示广告到 ViewController.m。
#import <AppLovinSDK/AppLovinSDK.h>
// ...
- (void)viewDidLoad {
[super viewDidLoad];
if([ALInterstitialAd isReadyForDisplay]){
[ALInterstitialAd show];
}
else{
NSLog(@"Failed");
}
}
Run Code Online (Sandbox Code Playgroud)运行应用程序,出现以下堆栈跟踪错误:
2017-01-03 11:09:58.437 AppLovinSample[80329:1731987] -[NSTaggedPointerString al_containsSubstring:]: unrecognized selector …Run Code Online (Sandbox Code Playgroud)我正在快速寻找一个简单的解决方案,以添加点击屏幕上任意位置并关闭键盘的功能。我在这里阅读了很多答案,但它们都为我抛出了错误。我之前用过的一个是这样的:
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”。
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) 我正在尝试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文件.但完成处理程序永远不会被调用.它永远不会在我在完成处理程序中设置的断点处停止,并且调试器日志中不会显示任何输出.
我已经尝试使用完成处理程序在一个单独的函数而不是一个闭包,但行为是相同的.
谁能告诉我为什么我的完成处理程序没有被调用?
ios ×10
swift ×6
objective-c ×2
animation ×1
autolayout ×1
fastlane ×1
ios10 ×1
json ×1
keyboard ×1
nsurlsession ×1
react-native ×1
uibutton ×1
uitableview ×1
uitextfield ×1
uitoolbar ×1
uiview ×1
xcode ×1
xcode7 ×1
xcode8 ×1