From 9280f8d32722a97cdf06be5d34f689d534a0cc07 Mon Sep 17 00:00:00 2001 From: ylzheng Date: Mon, 14 Sep 2015 22:43:26 +0800 Subject: [PATCH] add thumbnail for post --- librx/Base.lproj/Main.storyboard | 21 ++++---- librx/CreatePostViewController.swift | 4 +- librx/ExploreCell.swift | 4 +- librx/ExploreCollectionReusableView.swift | 4 +- .../Sun.imageset/Contents.json | 23 ++++++++ librx/Images.xcassets/Sun.imageset/Sun.png | Bin 0 -> 500 bytes librx/Images.xcassets/Sun.imageset/Sun@2x.png | Bin 0 -> 950 bytes librx/Images.xcassets/Sun.imageset/Sun@3x.png | Bin 0 -> 1441 bytes librx/LibrxService.swift | 21 +++++++- librx/Post.swift | 5 +- librx/StorysTableViewController.swift | 50 ++++++++++++++---- 11 files changed, 105 insertions(+), 27 deletions(-) create mode 100644 librx/Images.xcassets/Sun.imageset/Contents.json create mode 100644 librx/Images.xcassets/Sun.imageset/Sun.png create mode 100644 librx/Images.xcassets/Sun.imageset/Sun@2x.png create mode 100644 librx/Images.xcassets/Sun.imageset/Sun@3x.png diff --git a/librx/Base.lproj/Main.storyboard b/librx/Base.lproj/Main.storyboard index e373541..bed2d0c 100644 --- a/librx/Base.lproj/Main.storyboard +++ b/librx/Base.lproj/Main.storyboard @@ -228,11 +228,11 @@ @@ -245,13 +245,13 @@ - - + @@ -350,6 +350,7 @@ + @@ -907,13 +908,13 @@ + - diff --git a/librx/CreatePostViewController.swift b/librx/CreatePostViewController.swift index 9beb7a6..266d5d5 100644 --- a/librx/CreatePostViewController.swift +++ b/librx/CreatePostViewController.swift @@ -26,7 +26,9 @@ class CreatePostViewController: UITableViewController { let link = self.share_link?.text let type = self.share_type?.text - let post = Post(viewedTimes: 0, title: title!, createdAt: "", type: type!, url: link!) + let post = Post(viewedTimes: 0, title: title!, + createdAt: "", type: type!, url: link!, + thumbnail: "") LibrxService.createPost(post) { [weak self](result) -> () in self!.dismissViewControllerAnimated(true, completion: nil) diff --git a/librx/ExploreCell.swift b/librx/ExploreCell.swift index 19faff5..4a81a05 100644 --- a/librx/ExploreCell.swift +++ b/librx/ExploreCell.swift @@ -11,7 +11,7 @@ import UIKit class ExploreCell: UICollectionViewCell { @IBOutlet weak var nameLabel: UILabel! - - @IBOutlet weak var iconImage: UIImageView! + + } diff --git a/librx/ExploreCollectionReusableView.swift b/librx/ExploreCollectionReusableView.swift index 3e91cb5..3723028 100644 --- a/librx/ExploreCollectionReusableView.swift +++ b/librx/ExploreCollectionReusableView.swift @@ -18,14 +18,14 @@ class ExploreCollectionViewController: UICollectionViewController, UICollectionV "Java","IOS","Ruby", "Python", "前端开发","安卓", "设计","资源","Github", - "点子","工具箱","音乐" + "点子","工具箱","音乐","程序员" ] var icons = [ "Java", "iPhone", "Minecraft", "Python", "CSS", "Android", "Robot","Forrst", "GitHub", - "Idea","Toolbox","Music" + "Idea","Toolbox","Music", "Sun" ] override func viewDidLoad() { diff --git a/librx/Images.xcassets/Sun.imageset/Contents.json b/librx/Images.xcassets/Sun.imageset/Contents.json new file mode 100644 index 0000000..b3e0360 --- /dev/null +++ b/librx/Images.xcassets/Sun.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "Sun.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "Sun@2x.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "Sun@3x.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/librx/Images.xcassets/Sun.imageset/Sun.png b/librx/Images.xcassets/Sun.imageset/Sun.png new file mode 100644 index 0000000000000000000000000000000000000000..1095a1ed4b72fc83c69d8f4814c95d254c8925c0 GIT binary patch literal 500 zcmV2KxC?X-3%od>~P$&wVYRHC`enqt9)=z1(v42rRgF4hC7zHLRMT=;Qfgwel zc+`{U(}Qm(PlIO>e0k4(o#*3z9!12Diddg1z^@`;6gUTpD&PCndb9z0;)=tbs=<*i zgcg8J-284$h>-xs8K=OeEw%<}6e~XQegGPdvs-n{iC=z30~9Et$a!9l$6$7*fAskU z?T)vGK}qG=3lCs*8PX|;&D-DE=|b%Vo}2dnLj#bn-OfNFKDydlZMdoRqtY+XkRp&< zhot~<6HOq>_n`nZP$ZGCXV=E-^U5PUH6;Rdl_x!R4cJ=kAPWnQoCo1ZO zXBXJSrP}wmg5+lA8WTl z=oI057cMl5&;k)%8xB%2oCV_;(Q6w@;TX{nK&*Ht6YPc}e*G6#Z01E=F_Ur|ljK~6 zk+`4r32hcQoj|%{ZZM8N{%Rb{LSo>wL0L$Wp3Y=YcP%7}s`f(SXMYo0$wv8aq)VyI qtfE@W^`?{imeyJxmbkoU3h)hSyu%?+$(VWo0000(GEN|O zfs7kK9t2rkz+Ay9Ol%noSmUxpHUO4*;H@Rx#5@-S762~s&ZlRBpdEm(ct!|X0fdTY zf}jn6lz0XR$^gt&l+ePARP_FbMF4YBZJkC2-orpus!suX#ysj$Z9R?D0W4z{1~yb) z8halTFN_6js*IZhP@!fm-KrKaQUuDQ_G^a+?cej?_V39laMp-ErNmo6aS#|U19wM( z;!wE2Micmc3LKpPjY}{hB#8x37_fy;-4{vl|Nr3F2GP0*@1IBjWa^c1pma-3ywj`x z3)nddca6jW7`qKTodgOu`V;T;Zv6$e_JbiL3IKii=hN|tmw}KN0Oa$}ru#ShAiE)V z*xv7r35fwPbq|H}uJo3cy19z14E1&t4?fnsOXQOA&Pul< zKT4UP@5ZJw0X(=9c>+ouXldO0;=TlB1;7rxPVh)!p7d6pAX5 z00fGs$p7+jT=L|``B3v;79&EC1`xWR*Ae`@SjYv)75ttE5TpPIiy0gM{8oc*7?Kc# z0EFV{r8)zkBl7DHVCPV@M-T=^F@R;P!N8l)H*o;)TM4|Al&}IJ02>uO z0d5X-V36oP7r@W6Yj!vq1R?H4GEp(0cTe8Q6XF)$PD?p1NYE9TCS)t2i>|a;4#W~n z$tyBLsA<0 z0qB9iB%T#O8v?M&byJ)jKwQDKpK(}XKtB_XyKfF4ZlY-$FSmfSeX+Rbn_EEKMAJ6j Yf3GW=P^544xBvhE07*qoM6N<$f*gCDYybcN literal 0 HcmV?d00001 diff --git a/librx/Images.xcassets/Sun.imageset/Sun@3x.png b/librx/Images.xcassets/Sun.imageset/Sun@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb1d5c3700546e665593a09a61a52af6560f79c GIT binary patch literal 1441 zcmV;S1z!4zP)X=rRSnRo7-$=uCd++;F2zsyWBnVH){`UDk$R#3S~nLz>x>>@}Y2_&!x z1eTptLJ~+|5eO_hse~kuz#c2WsRAb~|7u`w` zQ@RK&j?pX-i$Ezs6gM(FR&ziM1EdXMiP8)ZRg9rsz|d}BdmHHM%|hGXmwhjP&Az{` z0N;NA3!i|6&vGx-W3QzYKZq zPP0vk6GVh@d>9xx)z|%LX`8|yM1(Oi z3>>ei0hd)<`R_CHz-)Cx&l{xb)^>7KHB9wxcjrmvEiqq^8|VnT&@Y_oUL!8!rS{~` zQ{ls7>ng+U_qCTxk4w*rp1{YC%EHp!-=|)RpXl4z<7h!-F1ifVxw-B z+f$;{y$!~54kE=kIFLO6a`?~#<6B{eq!$#YAW{rMpsI?hEDj&)grurV{Be%r3`7Zo zPVCZY{Vw!w;ZfK9tw*w>J4JB>ek)nY$bT30Z+U9yjX;brngc>-YFtvZ zL5wlD-C^Y=K$i2BAo5aL7t+GbGltD+8`9EwNj#w(u_8Q zLS%$NI~su)qcj7=7{dz02!&I(iP>$h6^1p4HcH$NhSnHPK(tWe?K*LS;S59zCBDu@ zXBbXFlu9BOPt&l%5Nr)klpA*-5#oE8qy zxXKhZRbDTv3WbhC9g_P7vu~rNHI{%6i&Z1pvzOV5>vP3hWvR3&8{w%MqjgVq^a6eD z?AJ|;&-?(stz_$)q~j1Jc#OPa@DfOui8?@G zfx!lZGHQXs27?udAqp!Db|9K4>@Zk@D59{$U<)EaVT-{UM1aB?gFVOw6#8RH?Kyoe zZ_iz%<@FV=iwvryk^XvBB}!=AySOfygPAVY@B(MksmYq~W0t5L62wZ@J@odWn00000NkvXXu0mjflfIdQ literal 0 HcmV?d00001 diff --git a/librx/LibrxService.swift b/librx/LibrxService.swift index bac09c0..0141a0e 100644 --- a/librx/LibrxService.swift +++ b/librx/LibrxService.swift @@ -16,10 +16,14 @@ import JWT struct LibrxService { private static let baseURL = "http://uat.librme.com/api/v1/" +// private static let baseURL = "http://localhost:3000/api/v1/" private static let defaultEncodeToken = "493bc0c0da778dc02aeeb1914bfcf0a9" + private static let defaultThumail = "http://7pn5d3.com1.z0.glb.clouddn.com/9050353.png" private static let clientID = "" private static let clientSecret = "" + private var imageCache = NSMutableDictionary() + private enum ResourcePath: Printable { case SignIn @@ -75,19 +79,34 @@ struct LibrxService { var posts:[Post] = [] for index in 0.. 30 { + title = title.substringToIndex(advance(post.title.endIndex, -4)) + "..." + } + + + cell.nameLabel.text = title + + if let img = imageCache[post.thumbnail] { + cell.thumbnilImageView?.image = img + }else{ + + let thumbnailUrl = NSURL(string: post.thumbnail) + let request: NSURLRequest = NSURLRequest(URL: thumbnailUrl!) + let mainQueue = NSOperationQueue.mainQueue() + + NSURLConnection.sendAsynchronousRequest(request, queue: mainQueue, completionHandler: { (response, data, error) -> Void in + if error == nil { + // Convert the downloaded data in to a UIImage object + let image = UIImage(data: data) + // Store the image in to our cache + self.imageCache[post.thumbnail] = image + // Update the cell + dispatch_async(dispatch_get_main_queue(), { + if let cellToUpdate = tableView.cellForRowAtIndexPath(indexPath) as? CustomTableCell { + cellToUpdate.thumbnilImageView?.image = image + } + }) + } + else { + println("Error: \(error.localizedDescription)") + } + }) + + } + return cell }