0
當用戶點擊TTStyledLabel中的圖像時,是否有任何方式可以讓它在三維圖像查看器中打開?在ImageViewer中打開TTStyledLabel圖像
當用戶點擊TTStyledLabel中的圖像時,是否有任何方式可以讓它在三維圖像查看器中打開?在ImageViewer中打開TTStyledLabel圖像
基本上可以。由於TTStyledText可以包含html標籤,因此您可以利用three20導航爲您提供優勢,所有您需要做的就是用標籤包裹img標籤,併爲源自three20的照片查看器的控制器設置自己的映射。
NSString* kText = @"This is a test of styled labels. <a href=\"yourapp://photo/http%3A%2F%2Fsomeserver.com%2Fsmiley.png\"><img src=\"http://someserver.com/smiley.png\"/</a>";
TTStyledTextLabel* label1 = [[[TTStyledTextLabel alloc] init] autorelease];
label1.text = [TTStyledText textFromXHTML:kText lineBreaks:YES URLs:YES];
在您的應用程序委託
有一個映射你的控制器是這樣的:
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
[map from:@"yourapp://photoViewer/(initWithPhotoUrl:)" toViewController:[TTWebController class]];
的照片視圖控制器應該有這樣的init方法:
-(id)initWithPhotoUrl:(NSString*)photoURL {
self = [self initWithNibName:nil bundle:nil];
if (self) {
NSString *unencodedURL = [photoURL gtm_stringByUnescapingFromURLArgument];//this is where you decode the string (notice we encode it in the html). Google toolbox has a nice category for Strings to encode and decode urls see: http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMNSString%2BURLArguments.h?r=373
}
return self;
}
內部的initWithPhotoUrl:你需要創建一個光源 - 請參考TTCatalog示例瞭解如何創建MockPhotoSource示例。
非常感謝。 – endy 2011-12-28 16:33:00
不客氣;) – 2012-01-03 17:17:17