0
我正在嘗試使用從日期選擇器中選擇日期並將其作爲開始日期作爲我的登錄憑證的一部分來實現。此日期選擇器已集成在UIAlert作爲鍵盤,並且它顯示在主警報框中的UITextField中。如何在WebService調用中使用%20而不在UITextField中顯示
-(void)requestStartTime
{
//create the alertview
startTimeAlert = [[UIAlertView alloc] initWithTitle:@"Sales Start:"
message:nil
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Next", nil];
startTimeAlert.alertViewStyle = UIAlertViewStylePlainTextInput;
//create the datepicker
startTimeDatePicker = [[UIDatePicker alloc] init];
[startTimeDatePicker addTarget:self action:@selector(startTimeDateChanged:) forControlEvents:UIControlEventValueChanged];
startTimeDatePicker.datePickerMode = UIDatePickerModeDateAndTime;
NSDate *now = [NSDate date];
startTimeDatePicker.maximumDate = now;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps = [calendar components: NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];
[comps setHour:8];
[comps setMinute:0];
[comps setSecond:0];
NSDate *dateFromComps = [calendar dateFromComponents:comps]; // current date/month/year set to 8:00am
startTimeDatePicker.date = dateFromComps;
//get the textfield provided in the plain text alertview
startTimeTextField = [startTimeAlert textFieldAtIndex:0];
//change the textfields inputView to the date picker
startTimeTextField.inputView = startTimeDatePicker;
[startTimeTextField setTextAlignment:NSTextAlignmentCenter];
//create a date formatter to suitably show the date
startTimeDateFormatter = [[NSDateFormatter alloc] init];
[startTimeDateFormatter setDateFormat:@"yyyy-MM-dd%20HH:mm:ss"];
startTimeTextField.text = [startTimeDateFormatter stringFromDate:dateFromComps];
[startTimeAlert show];
[startTimeTextField becomeFirstResponder];
self.selectedStartDate = startTimeTextField.text;
}
如果你注意到,我使用的日期格式爲@ 「YYYY-MM-DD%20HH:MM:SS」。我必須使用它,因爲它取代了空間字符。
self.selectedStartDate = startTimeTextField.text;
selectedStartDate是我的字符串,而startTimeTextField是我的日期選擇輸入的地方。 下面,我將使用此字符串將我的連接方法發佈到MYSQL。
NSString *salesStr = @"http://";
salesStr = [salesStr stringByAppendingString:host];
salesStr = [salesStr stringByAppendingString:@":8080/sales.php?password="];
salesStr = [salesStr stringByAppendingString:pass];
salesStr = [salesStr stringByAppendingString:@"&db="];
salesStr = [salesStr stringByAppendingString:db];
salesStr = [salesStr stringByAppendingString:@"&sdate="];
salesStr = [salesStr stringByAppendingString:selectedStartDate];
salesStr = [salesStr stringByAppendingString:@"&edate="];
salesStr = [salesStr stringByAppendingString:selectedEndDate];
這一切都適合我。 我的問題是:如何使用%20而不在文本框中顯示它?它看起來不專業,我需要它顯示一個空間而不是%20,並且仍然正常工作。
完美!非常感謝。 – Machina