--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Swift [ru]".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/swiftru/14B4-hpLjng/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес swiftru+u...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес swi...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/swiftru/8bb6f98f-67bc-4059-be6a-0ca9a2ba0330%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
if request == weakSelf?.lastTwitterRequest
Добрый день,
Вот :)
http://cs193p.stanford.edu
---
Best regards,
Ilya
> 26 июня 2016 г., в 21:22, Ivan Lazarev <i.s.l...@gmail.com> написал(а):
>
> Илья, может поделитесь сразу ссылкой, чтобы потом время на поиск не терять?)
>
> --
> Вы получили это сообщение, так как подписаны на группу "Swift [ru]".
> Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/swiftru/14B4-hpLjng/unsubscribe.
> Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес swiftru+unsubscribe@googlegroups.com.
dispatch_async(dispatch_get_main_queue()) {
if request == weakSelf?.lastTwitterRequest
--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Swift [ru]".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/swiftru/14B4-hpLjng/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес swiftru+u...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес swi...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/swiftru/1abb6557-de3b-4b15-8ded-57b2101ffac0%40googlegroups.com.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес swiftru+unsubscribe@googlegroups.com.
public let hashtags: [Mention]
public let urls: [Mention]
public let userMentions: [Mention]
let myAttribute = [ NSFontAttributeName: UIFont.preferredFontForTextStyle(UIFontTextStyleBody) ]
let myString = NSMutableAttributedString(string: tweet.text, attributes: myAttribute )
tweetTextLabel?.attributedText = myString
if tweetTextLabel?.text != nil {
for _ in tweet.media {
tweetTextLabel.text! += " 📷"
}
for url in tweet.userMentions {
let myAttributes1 = [ NSForegroundColorAttributeName: UIColor.blueColor() ]
let attrString3 = NSAttributedString(string: " " + String(url), attributes: myAttributes1)
myString.appendAttributedString(attrString3)
tweetTextLabel.attributedText = myString
}
}
let myAttribute = [ NSFontAttributeName: UIFont.preferredFontForTextStyle(UIFontTextStyleBody) ]
let myString = NSMutableAttributedString(string: tweet.text, attributes: myAttribute )
for hash in tweet.hashtags {
myString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: hash.nsrange)
}
for url in tweet.urls {
myString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(), range: url.nsrange)
}
for userMention in tweet.userMentions {
myString.addAttribute(NSForegroundColorAttributeName, value: UIColor.orangeColor(), range: userMention.nsrange)
}
if tweetTextLabel?.text != nil {
for _ in tweet.media {
var tweets = [Array<Twitter.Tweet>]()
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Storyboard.DetailedSequeIdentifier {
if let dttvc = segue.destinationViewController as? DetailedTweetTableViewController {
let cell = (sender as? TweetTableViewCell)?.tweet
print(cell?.description)
dttvc.tweet = cell
}
}
}
// MARK: - Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Storyboard.DetailedSequeIdentifier {
if let navcon = segue.destinationViewController as? UINavigationController {
if let dttvc = navcon.visibleViewController as? DetailedTweetTableViewController {
let cell = (sender as? TweetTableViewCell)?.tweet
dttvc.tweet = cell
}
}
}
}
28 июня 2016 г., в 21:17, tatiana.kornilova <tatiana....@gmail.com> написал(а):
--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Swift [ru]".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/swiftru/14B4-hpLjng/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес swiftru+u...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес swi...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/swiftru/932aa9cb-1ddf-4b37-8efd-46e5bcba8b5a%40googlegroups.com.
Чтобы был заголовок..
Добрый день,
import SafariServices
let safariVC = SFSafariViewController(URL: NSURL(string: url)!)
self.presentViewController(safariVC, animated: true, completion: nil)
if #available(iOS 9, *), но xcode пишет смысла в этом нет)func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
if let navcon = viewController as? UINavigationController {
if let vc = navcon.visibleViewController as? UITableViewController {
vc.tableView.setContentOffset(CGPointZero, animated: true)
}
}
}
Теперь если в Search вкладке вы отлистали список твитов вниз, нажав на название item'а Search, вы перемещаетесь наверх (почти на верх, т.е. наверх TableView)
https://github.com/llodi/Smashtag_cs193p_Spring
Этим надо обязательно пользоваться, иначе невозможно набирать длинные идентификаторы.
В этой библиотеке можно разместить свой фрагмент и дать ему shortcut для автокомплита. Что и сделал профессор. На эту тему можно посмотреть статью Xcode-Snippet - http://nshipster.com/xcode-snippets/
var clickedItemOld: UITabBarItem?
var clickedItem: UITabBarItem? {
didSet {
clickedItemOld = oldValue
}
}
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
clickedItem = item
}
// UITabBarControllerDelegate
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
if tabBarController.tabBar.selectedItem == clickedItemOld ?? tabBarController.tabBar.selectedItem {
if let navcon = viewController as? UINavigationController {
if let vc = navcon.visibleViewController as? UITableViewController {
vc.tableView.scrollRectToVisible(vc.tableView.frame, animated: true)
}
if let vc = navcon.visibleViewController as? UICollectionViewController {
vc.collectionView?.scrollRectToVisible(vc.collectionView!.frame, animated: true)
}
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = tableView.rowHeight
tableView.rowHeight = UITableViewAutomaticDimension
let toRoot = UIBarButtonItem(barButtonSystemItem: .Stop,
target: self,
action: #selector(TweetTableViewController.toRootViewController(_:)))
print("Количество карт в стеке: \(navigationController?.viewControllers.count)")
if navigationController?.viewControllers.count > 1 {
if navigationController?.viewControllers.count > 0 {
navigationItem.rightBarButtonItem = toRoot
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
if let navcon = navigationController{
print ("DidLoad count = \(navcon.viewControllers.count)")
} else {
print ("DidLoad navigation \(navigationController)")
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navcon = navigationController{
print ("WillAppear \(navcon.viewControllers.count)")
} else {
print ("WillAppear \(navigationController)")
}
}
DidLoad count = 1
WillAppear 1
DidLoad navigation nil
WillAppear 3
DidLoad navigation nil
WillAppear 5
DidLoad navigation nil
WillAppear 7
WillAppear 1 // нажата кнопка возврата