-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewViewController.swift
More file actions
107 lines (89 loc) · 3.73 KB
/
NewViewController.swift
File metadata and controls
107 lines (89 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//
// NewViewController.swift
// twitterApp
//
// Created by Deepak on 9/28/14.
// Copyright (c) 2014 Deepak. All rights reserved.
//
import UIKit
class NewViewController: UIViewController, UITextViewDelegate {
var tweet : Tweet!
var user: User!
@IBOutlet var profileImage: UIImageView!
@IBOutlet var nameLabel: UILabel!
@IBOutlet var handleLabel: UILabel!
@IBOutlet var tweetTextView: UITextView!
var countLabel: UILabel!
@IBAction func onCancel(sender: AnyObject) {
dismissViewControllerAnimated(true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.barTintColor = UIColorFromRGB(0xF5F8FA)
nameLabel.text = User.currentUser?.name
handleLabel.text = User.currentUser?.screenname
if let url = User.currentUser?.profileImageUrl {
//profileImage.setImageWithURL(NSURL(string: url))
var request = NSURLRequest(URL: NSURL(string: url))
profileImage.setImageWithURLRequest(request, placeholderImage: nil ,
success: { (request, response, image) -> Void in
//println(response)
self.profileImage.image = image
var layer = self.profileImage.layer as CALayer
layer.cornerRadius = 8.0
layer.masksToBounds = true
}, failure: { (request, response, error) -> Void in
println(error)
})
}
// Do any additional setup after loading the view.
println("In NewViewController : user :\(self.user?.name)")
println("In NewViewController Current User from class : \(User.currentUser?.name)")
if let author_name = tweet?.user?.screenname {
tweetTextView.text = "@\(author_name) "
}
tweetTextView.delegate = self
var navbar = navigationController?.navigationBar
countLabel = UILabel(frame: CGRectMake(280, 16, 40, 30))
countLabel.font = UIFont(name: "Helvetica", size: 12)
countLabel.text = "140"
countLabel.sizeToFit()
navbar?.addSubview(countLabel)
tweetTextView.becomeFirstResponder()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func onTweet(sender: AnyObject) {
if (self.tweetTextView.text != "" ) {
TwitterClient.sharedInstance.tweet(self.tweetTextView.text, callback: {(response, error) -> () in
if(error != nil) {
println("Error on Posting Tweet")
println(error)
UIAlertView(
title: "Error",
message: "Your tweet could not be sent. Please try again later.",
delegate: self,
cancelButtonTitle: "Dismiss").show()
} else {
println(response)
println("Tweet succeeded")
self.dismissViewControllerAnimated(true, completion: nil)
}
})
}
}
func textViewDidChange(textView: UITextView) {
var n = 140 - countElements(textView.text)
countLabel.text = "\(n)"
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}