我UIPickerView
和我UIView
在一起UITextField
.我让用户从选择器中选择一个值或在文本字段中输入自定义值.
当用户从选择器中选择任何选项时,变量值将在(pickerView:didSelectRow:inComponent:
方法中)改变.但是如果用户没有在选择器上选择任何值(因为他们想要选择已经选择的第一个选项),则不会调用此方法,并且选择不会反映在变量中.
我尝试将变量的默认值设置为选择器中的第一个选项.但在这种情况下,当用户编辑文本字段时,变量将具有文本字段的文本.现在,如果用户决定再次选择第一个值,则新值不会反映在变量中.
我怎么能克服这个?谢谢.
这是相关的代码
在我的viewDidLoad
我有这个语句selectText
默认情况下设置选择器的第一个选项
[self setSelectText:[myArray objectAtIndex:0]];
Run Code Online (Sandbox Code Playgroud)
textFieldShouldReturn
- (BOOL)textFieldShouldReturn:(UITextField *)txtField{
[txtField resignFirstResponder];
[self setSelectText:txtField.text];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
PickerViewDelegate的didSelectRow
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
// report the selection to the UI label
[self setSelectText:[myArray objectAtIndex:[pickerView selectedRowInComponent:0]]];
}
Run Code Online (Sandbox Code Playgroud)
当用户编辑文本然后决定他想要使用选择器的第一个值时,就会出现问题.在这种情况下,他们将关闭键盘并单击选择器的第一个选项(已选中).此操作不会调用didSelectRow
,因此selectText的值不会更改.
为了使用户能够更改其值selectText
,他们首先必须从选择器中选择一些其他值,然后选择第一行.
我正在尝试将Google登录集成到我的iOS应用中.我遵循了Google提到的说明.
我也添加了SafariService.framework.
我仍然收到此错误:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SFSafariViewController", referenced from:
objc-class-ref in GoogleSignIn(GIDSignIn.o)
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
有任何想法吗?
谢谢
我正在查看pybrain获取服务器监视器警报并确定问题的根本原因.我很高兴使用有监督的学习和策划训练数据集来训练它.数据结构如下:
* Server Type **A** #1
* Alarm type 1
* Alarm type 2
* Server Type **A** #2
* Alarm type 1
* Alarm type 2
* Server Type **B** #1
* Alarm type **99**
* Alarm type 2
Run Code Online (Sandbox Code Playgroud)
所以有n个服务器,x警报可以是UP
或DOWN
.这两个n
和x
是可变的.
如果服务器A1具有报警1和2的DOWN
,那么我们可以说,服务是关闭该服务器上,是导致问题的原因.
如果所有服务器上的警报1都关闭,那么我们可以说服务a是原因.
原因可能有多种选择,因此直接分类似乎不合适.
我还想将以后的数据来源与网络联系起来.比如ping一些外部服务的脚本.
由于串行服务检查,可能不会立即触发所有相应的警报,因此它可以从一台服务器启动,然后在另一台服务器启动后5分钟启动.
我一开始想尝试一些基本的东西:
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import …
Run Code Online (Sandbox Code Playgroud) 我知道有一个与同名的一个问题在这里.但在那个问题上,他正在尝试将字典转换为JSON.但我有一个像这样简单的刺痛:"花园"
我必须将其作为JSON发送.我已经尝试过SwiftyJSON,但我仍然无法将其转换为JSON.
这是我的代码:
func jsonStringFromString(str:NSString)->NSString{
let strData = str.dataUsingEncoding(NSUTF8StringEncoding)
let json = JSON(data: strData!)
let jsonString = json.string
return jsonString!
}
Run Code Online (Sandbox Code Playgroud)
我的代码在最后一行崩溃了:
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
我有一些工作代码从远程Web服务器上的MySQL数据库获取结果.它不再有效,我不断收到消息responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
.这是一些代码......
Alamofire.request(ADS_URL, method: .get).validate().responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
switch response.result {
case .success(let value):
let json = JSON(value)
print ("JSON: \(json)")
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
case .failure(let error):
print("Error while querying database: \(String(describing: error))")
return
}
}
Run Code Online (Sandbox Code Playgroud)
我也在使用SwiftyJSON.以下是代码的结果......
Request: Optional(http://doyouado.com/adscan/get_ads) …
Run Code Online (Sandbox Code Playgroud) 我想知道如何控制使用的表视图UISearchDisplayController
.您不能覆盖该searchResultsTableView
属性UISearchDisplayController
,因为它是只读属性.
我试图searchResultsTableView
通过自定义覆盖UITableView
.这只能运行一次,但是一旦你尝试第二次搜索,真实searchResultsTableView
就会再次出现.(我的意思是,你在一些文本输入searchBar
,您的自定义表视图顶部并显示搜索结果,事后你按下取消按钮.现在,如果你重复这一点,您的自定义表将不会被显示,searchResultTableView
中UISearchDisplayController将位于顶部).
当然,你可以试试它没有UISearchDisplayController
,但我依靠这个类的优点,我只想自定义tableView
.
我正在尝试UIRefreshControl
在我的应用程序中实现.我有一个xib文件,我UITableViewController
在空的nib文件中添加了一个,并将refresh属性设置为"enabled".此外,我已经添加了代码viewDidLoad
和自定义刷新方法.问题是我有一个错误我找不到任何关于....的信息.... viewDidLoad
我得到的"属性' refreshControl
'没有找到类型的对象ViewController
"
- (void)viewDidLoad{
[super viewDidLoad];
self.myTableView =
[[UITableView alloc] initWithFrame:self.view.bounds
style:UITableViewStyleGrouped];
self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
[self.view addSubview:self.myTableView];
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refresh;
}
-(void)refreshView:(UIRefreshControl *)refresh {
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing data..."];
// custom refresh logic would be placed here...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; …
Run Code Online (Sandbox Code Playgroud) 我可能会为这个问题投票,但我很好奇,无法找到任何解释.所以我要在这里发布.
我的问题是,我必须在自定义单元格中显示自定义分隔符图像.如果我只是设置背景颜色imageView
而不是设置UIImage
,那么它是更好的方法吗?
以下是解释我的问题的示例屏幕截图.
在此屏幕截图中,我有黑色和灰色分隔符.
[barImage setBackgroundColor:[UIColor blackColor]];
[greyBarImage setBackgroundColor:[UIColor greyColor]];
Run Code Online (Sandbox Code Playgroud)
要么
[barImage setImage:[UIImage imageNamed:@"black.png"]];
[greyBarImage setImage:[UIImage imageNamed:@"grey.png"]];
Run Code Online (Sandbox Code Playgroud)
现在,哪一个更好?我只知道imageNamed:
它有点慢,我们应该避免,但我不确定.
编辑:
这是我在发布此问题后所知道的:
设置图片:
UIImageView
设置背景颜色:
UIImageView
,因此整体imageView
将是不透明的并且将响应触摸.有多个问题的答案都与我的问题有关,但不幸的是,没有一个问题对我有用。
我必须检测在android键盘上按下的enter并将焦点从当前的matInput更改为下一个matInput。
我曾尝试keyup.enter
,keydown
并keypress
但没有为我工作。我实现了指令方法,但在Android设备上调试应用程序时未触发方法。虽然,它确实会触发浏览器上的方法。
这是我正在使用的。
HTML:
<mat-form-field class="ib-input-container-width">
<input matInput data-dependency="lastName" (keypress)="onChange($event.keyCode)" (keyup.enter)="handleNext('lastName')" [formControl]="form.get('FirstName')" type="text" >
</mat-form-field>
<mat-form-field class="ib-input-container-width" >
<input #lastName id="lastName" matInput [formControl]="form.get('LastName')" type="text">
Run Code Online (Sandbox Code Playgroud)
TS:
handleNext(elementId){
let nextElement = document.getElementById(elementId);
console.log(nextElement);
nextElement.focus();
}
onChange(event){
console.log(event.keycode);
}
Run Code Online (Sandbox Code Playgroud)
PS:我正在使用Cordova进行工作的渐进式Web应用程序。
更新资料
我已经尝试过/sf/answers/1967252591/的解决方案, 但是ng-change也不起作用。
我想getFollowersIds()
在Twitter4j中使用粉丝,但我明白了
ConnectionErrorException ...超出速率限制
public static void main(String[] args) {
try {
Twitter twitter = TwitterFactory.getSingleton();
String[] srch = new String[]{"TechCrunch"};
ResponseList<User> users = twitter.lookupUsers(srch);
for (User user : users) {
UserHarvest us = new UserHarvest(6017542);
us.getFollowersIds();
try {
us.getContributors();
} catch (ConnectionErrorException ex) {
Logger.getLogger(UserHarvest.class.getName()).log(Level.SEVERE, null, ex);
}
}
} catch (TwitterException ex) {
Logger.getLogger(UserHarvest.class.getName()).log(Level.SEVERE, null, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
Exception in thread "main" harvest.twitterharvest.ConnectionErrorException: Connection could not have been established
at harvest.twitterharvest.WrapperTwitter4J.getFollowersIDs(WrapperTwitter4J.java:75)
at harvest.twitterharvest.UserHarvest.getFollowersIds(UserHarvest.java:106)
at harvest.twitterharvest.UserHarvest.main(UserHarvest.java:140)
Caused …
Run Code Online (Sandbox Code Playgroud) ios ×3
iphone ×3
objective-c ×3
swift ×2
swifty-json ×2
alamofire ×1
android ×1
angular ×1
cordova ×1
go ×1
html ×1
java ×1
json ×1
monitor ×1
python ×1
twitter ×1
twitter4j ×1
uiimageview ×1
uipickerview ×1
uitableview ×1
uitextfield ×1