在我的xib我有一個UITextField
和UIImageView
和一個按鈕,iPhone如何驗證字符串只是在Objective-C中的圖像名稱或圖像url?
究竟我想要的時候,用戶可以例如,輸入圖像的名字Default.png
或完整的網絡URL
的圖像,當按下該按鈕應檢查
如果文本很簡單,例如, Default.png然後使用本地圖像和 如果文本是帶有圖像的網址,則從圖像URL加載數據並創建一個圖像,然後放在UIImageView上。
我在這裏查了很多問題,但沒有得到我想要達到的確切解決方案。
我做了什麼:
- (IBAction)submit:(id)sender
{
NSString *url = urlInput.text;
UIImage *tempImg;
if([self validateUrl:url]) {
NSURL *imageurl = [NSURL URLWithString:url];
NSData *imagedata = [[NSData alloc]initWithContentsOfURL:imageurl];
tempImg = [UIImage imageWithData: imagedata];
} else {
tempImg = [UIImage imageNamed:url];
}
if(tempImg == nil){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Image not present!!!" message:@"Image not present!!!" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
} else {
myImgView.image = tempImg;
}
}
- (BOOL) validateUrl: (NSString *) candidate {
NSString *urlRegEx =
@"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
即使在輸入正確的圖像URL它顯示我的警報「圖像不存在之後,從.m文件(這是不工作)
// imageViewViewController.h
#import <UIKit/UIKit.h>
@interface imageViewViewController : UIViewController<UITextFieldDelegate>
{
IBOutlet UITextField * urlInput;
IBOutlet UIImageView * myImgView;
}
- (IBAction)submit:(id)sender;
@end
代碼! !!」
我認爲我的URL驗證功能存在問題。
只是因爲我輸入的網址(http://tempuri.org/swinsuit.png)它會通過您的驗證功能。但這並不意味着照片確實存在。 – 2013-04-25 11:31:33
是的你是對的,我只想檢查用戶輸入的內容,URL或圖像名稱。 – 2013-04-25 11:54:05