ソースを参照

Tap gestures from the blog section of the home screen.

Iñigo Valentin 9 年 前
コミット
6c53a2da0a

+ 1 - 1
app.xcodeproj/project.pbxproj

@@ -127,8 +127,8 @@
 				93D9EA631DE273FD00089002 /* Section.swift */,
 				931AA5AD1E218D0D003A2290 /* Entry.xib */,
 				93294FF71E336FA000FDAF50 /* Entry.swift */,
-				93D9EA6B1DE3498500089002 /* HomeView.xib */,
 				93D9EA691DE3491100089002 /* HomeView.swift */,
+				93D9EA6B1DE3498500089002 /* HomeView.xib */,
 				93D9EA751DE3ACBB00089002 /* Sync.swift */,
 				931AA5AF1E219006003A2290 /* RowHomePastActivities.xib */,
 				93294FF91E337D0D00FDAF50 /* RowHomePastActivities.swift */,

+ 14 - 3
app/BlogView.swift

@@ -126,13 +126,17 @@ class BlogView: UIView {
 				
 				print("BLOG:DEBUG: Row height: \(row.frame.height)")
 				
+				parent.addArrangedSubview(row)
+				row.setNeedsLayout()
+				row.layoutIfNeeded()
 				
+				// TODO: Do this on the row didLoad method
 				// Set tap recognizer
-				let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector (self.openPost (_:)))
+				let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(openPost(_:)))
 				row.isUserInteractionEnabled = true
 				row.addGestureRecognizer(tapRecognizer)
 				
-				parent.addArrangedSubview(row)
+				
 				
 			}
 		} catch {
@@ -160,12 +164,19 @@ class BlogView: UIView {
 		print("BLOG:DEBUG: Show post on load.")
 		//self.delegate?.controller?.showPost(id: 4)
 		
-		controller.showPost(id: 4)
+		//controller.showPost(id: 4)
 		
 		
 		
 		
 		
+	}
+	
+	func openPost(){//(_ sender:UITapGestureRecognizer? = nil){
+		print("BLOG:DEBUG: getting delegate and showing post.")
+		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
+		delegate.controller?.showPost(id: 4)
+		print("BLOG:DEBUG: Post should be shown.")
 	}
 	
 	func openPost(_ sender:UITapGestureRecognizer? = nil){

+ 17 - 4
app/HomeView.swift

@@ -191,7 +191,7 @@ class HomeView: UIView {
 			//I like to check the size of the returned results!
 			print ("Post: \(searchResults.count)")
 			
-			var row : RowHomePastActivities
+			var row : RowHomeBlog
 			var count = 0
 			var id: Int
 			var title: String
@@ -206,11 +206,12 @@ class HomeView: UIView {
 				
 				
 				//Create a new row
-				row = RowHomePastActivities.init(s: "rowHomeBlog\(count)", i: count)
+				row = RowHomeBlog.init(s: "rowHomeBlog\(count)", i: count)
 				id = r.value(forKey: "id")! as! Int
 				title = r.value(forKey: "title_\(lang)")! as! String
 				text = r.value(forKey: "text_\(lang)")! as! String
-				print(title)
+				
+				row.id = id
 				row.setTitle(text: title)
 				row.setText(text: text)
 				
@@ -237,6 +238,10 @@ class HomeView: UIView {
 				
 				parent.addArrangedSubview(row)
 				
+				let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(openPost(_:)))
+				row.isUserInteractionEnabled = true
+				row.addGestureRecognizer(tapRecognizer)
+				
 			}
 		} catch {
 			print("Error with request: \(error)")
@@ -279,7 +284,8 @@ class HomeView: UIView {
 				id = r.value(forKey: "id")! as! Int
 				title = r.value(forKey: "title_\(lang)")! as! String
 				text = r.value(forKey: "text_\(lang)")! as! String
-				print(title)
+				
+				
 				row.setTitle(text: title)
 				row.setText(text: text)
 				
@@ -320,4 +326,11 @@ class HomeView: UIView {
 		print("ROW CREATED")
 		parent.addArrangedSubview(row)
 	}
+	
+	func openPost(_ sender:UITapGestureRecognizer? = nil){
+		print("HOME:DEBUG: getting delegate and showing post.")
+		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
+		delegate.controller?.showPost(id: (sender?.view as! RowHomeBlog).id)
+		print("HOME:DEBUG: Post should be shown.")
+	}
 }

+ 2 - 2
app/RowBlog.swift

@@ -76,10 +76,10 @@ Extension of UIView to be formatted as sections.
 		v.addSubview(container)
 		
 		// Set tap recognizer
-		print("ROW_BLOG:DEBUG: set tap recognizer")
+		/*print("ROW_BLOG:DEBUG: set tap recognizer")
 		let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector (self.openPost (_:)))
 		tapRecognizer.delegate = (UIApplication.shared.delegate as! AppDelegate).controller
-		addGestureRecognizer(tapRecognizer)
+		addGestureRecognizer(tapRecognizer)*/
 	}
 	
 	/**

+ 2 - 0
app/RowHomeBlog.swift

@@ -29,6 +29,8 @@ Extension of UIView to be formatted as sections.
 	//This view
 	var v: UIView!
 	
+	var id: Int!
+	
 	//The container.
 	@IBOutlet weak var container: UIView!
 	

+ 1 - 1
app/ViewController.swift

@@ -47,7 +47,7 @@ class ViewController: UIViewController, UICollectionViewDataSource, UICollection
 	}
 	
 	func showPost(id: Int){
-		print("CONTROLLER:DEBUG: showPost")
+		print("CONTROLLER:DEBUG: showPost \(id)")
 	}
 	
 	/**