我有一个textview,当我按完后textview开始一个新的行.
我已经实现了这些方法并添加了所有委托
@property (nonatomic, strong) IBOutlet UITextView *textField;
-(void)textViewDidEndEditing:(UITextView *)textView //was UITextField
{
[self.textField resignFirstResponder];
}
- (BOOL)textFieldShouldReturn:(UITextView *)textField{
[textField resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我将键盘返回键设置为在属性检查器中完成.我希望键盘上的完成键可以让第一响应者辞职,但它似乎不起作用.
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
// error thrown here saying code will never execute
if(range.length + range.location > textField.text.length)
{
return NO;
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 300;
}
Run Code Online (Sandbox Code Playgroud)
我如何添加这两个语句,以便它们可以正常工作而不会出错?
我有一个UITextView,我想限制用户可以输入的字符数.如果文本字段为空但我没有运气,我也试图显示警告.
textview.h
@property (nonatomic,strong) IBOutlet UITextView *textField;
@property (nonatomic, retain) NSString *userText;
textview.m
- (IBAction)next:(id)sender {
self.userText = self.textField.text;
if ([self.textField.text length] == 0) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error!"
message:@"Enter some text"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}
Run Code Online (Sandbox Code Playgroud)
这是文本限制方法似乎不起作用,
- (BOOL)textView:(UITextView *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if(range.length + range.location > textField.text.length)
{
return NO;
} else {
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 70;
return (textField.text.length <= 70);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在建立一个具有自毁图像的应用程序,我试图将从微调框中选择的值传递给另一个类
final String titles[] = {"1 Second","2 Seconds", "3 Seconds","4 Seconds","5 Seconds","6 Seconds","7 Seconds", "8 seconds, "9 seconds", 10 seconds};
mSeconds = (Spinner) view.findViewById(R.id.secondsSpinner);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, titles);
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSeconds.setAdapter(arrayAdapter);
mSeconds.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
int secondsToUse = position + 1;
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// do nothing
}
});
Run Code Online (Sandbox Code Playgroud)
我的意图方法:
Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("key1", titles);
startActivity(recipientsIntent);
Run Code Online (Sandbox Code Playgroud)
如何将选中的值传递给另一个类?我的方法传递整个数组而不是选中的项目.
我有一个定时器,有一个秒数从一直到0倒数,所以如果我把5个textview标签,我希望它显示5,4,3,2,1,0,我已经有了计时器停止.我传入用户选择的随机数,所以我将变量S传递给计时器
我的观点:
mSeconds = (TextView)findViewById(R.id.secondsLabel);
Run Code Online (Sandbox Code Playgroud)
我的计时器:
int s = //int taken from on spinner in another class
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
finish();
}
}, s * 1000);
Run Code Online (Sandbox Code Playgroud)
所以当我把mSeconds.setText(//what should i add here);
数字显示为0时
android ×2
ios ×2
java ×2
objective-c ×2
uitextview ×2
arrays ×1
int ×1
nsinteger ×1
nsstring ×1
spinner ×1
textview ×1
uikeyboard ×1