
Sergei
04.07.2017
15:04:01
А вот такой вопрос - тут говорят про metal и obj-c ?

Ivan
04.07.2017
17:10:40

Ilya
04.07.2017
17:37:59
это API к видеокарте, как OpenGL, DirectX и Vulkan

Sergei
04.07.2017
17:38:49
Так тут говорят об этом ?

Google

Vladislavs
04.07.2017
17:44:29
В теории да, на практике не видел

Pavel
04.07.2017
18:03:06
а много кто использует metal этот?
1200 человек, какая вероятность, что из них кто-то геймдевом занят, под iOS, да еще и Metal использует?

Ivan
04.07.2017
18:11:20

Sergei
04.07.2017
19:37:00
Да, свой небольшой движок и бывают всякие вопросы, думал тут их задать или узнать у вас (вдруг вам попадались) есть ли такие группы

Vitaliy
04.07.2017
19:45:13
Когда нужно динамически создавать какие-то определённые объекты как есть, из треугольников

Ivan
04.07.2017
19:46:51
В геймдеве обычно берут готовый движок, и там уже нет metal api или vulcan, там абстракция для кроссплатфооменности
Обычно игру не только под iOS планируют выпускать

Vitaliy
04.07.2017
19:50:10
твоя правда
стормозил

Ivan
04.07.2017
19:50:24
Оно и полезнее будет

Google

Ivan
04.07.2017
19:50:49
Общая база знаний

Sergei
04.07.2017
19:51:41
StackOverflow - спасибо. Смайл

Alexander
04.07.2017
19:57:17
God save the Stackoverflow

Zhanserik
05.07.2017
03:53:47
Всем привет. Как изменить высоту collection view cell при нажатии на кнопку Показать все?
Эта ячейка находится в другой ячейке
через протокол?
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: frame.width, height: frame.width + 50)
}
Вот тут задаю размер ячейки

Alish
05.07.2017
04:54:11
При нажатии на кнопку делаешь reloadRowsAtIndexPaths
Всем привет! Кто может помочь в решении данной проблемы, любые предложения приветсвуются https://ru.stackoverflow.com/questions/687133/%D0%9D%D0%B8%D0%B7%D0%BA%D0%B8%D0%B9-fps-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F-rpscreenrecorder

Robin
05.07.2017
06:33:03
@Andrew_Cls_168 is spam

Andrew
05.07.2017
06:39:48

Andrew
05.07.2017
06:42:20
Добрый день, не подскажите, как отоброзить весь массив в table view? Пробовал через IndexPath.row, так отобразились только первые элементы, позже выяснил, что это неправильный способ, хотя в различных туториалах показывали именно его.

Alexander
05.07.2017
06:44:24

Andrew
05.07.2017
06:44:44
про неправильный способ вообще не понял ничто

Andrew
05.07.2017
06:45:54
Кто-нибудь знает про simpletunnel в ios? Если да, пожалуйста, покажите мне какой-нибудь пример. благодаря

Andrew
05.07.2017
06:46:51
Количество я указал, с ним всё в порядке. Проблема с тем, что таблица забита одними и теми же данными (нулевой-третий элемент) из массива.
Но не все элементы отображаются.

Andrew
05.07.2017
06:47:33
Приветственный инженер-программист из Камбоджи @HenryPen

Andrew
05.07.2017
06:47:38

Google

Robin
05.07.2017
06:48:50

Andrew
05.07.2017
06:50:06

Andrew
05.07.2017
06:51:14
Вы Капитан Очевидность.

Robin
05.07.2017
06:51:39
Kamboçya'dan Hoşgeldin Yazılım Mühendisi

Andrew
05.07.2017
06:52:37

Andrew
05.07.2017
06:52:45
Похоже, заполняется таблица правильно — сейчас попробовал печатать IndexPath.row при генерации каждой ячейки, программа выдала цифры 0-24, как и на каждый элемент массива.

Andrew
05.07.2017
06:52:46
Kaabo Software ẹlẹrọ lati Cambodia

Andrew
05.07.2017
06:53:15
Но проблема, похоже, в том, что эти ячейки переписываются при скроллинге.

Andrew
05.07.2017
06:53:27

Andrew
05.07.2017
06:54:06
Что скинуть? Код, скрины?

Andrew
05.07.2017
06:54:28

Andrew
05.07.2017
06:55:18
Я впервые спрашиваю помощь и не очень представляю, какую информацию нужно предоставить.

Andrew
05.07.2017
06:57:06
не помогает. Потому что а) неизвестно что у тебя в дата сорсе,
б) непонятно как ты хочешь чтобы было.

Andrew
05.07.2017
06:57:55
Вот, проблема в том, что в этих ячейчах разные данные. Они изменились после скролла.
Я прокрутил вниз, вернулся обратно, данные поменялись.

Andrew
05.07.2017
06:59:05

Google

Andrew
05.07.2017
06:59:37
Ну, нет, ведь мне нужно, чтобы данные сохранялись на своих местах.

Andrew
05.07.2017
07:00:43

Andrew
05.07.2017
07:01:56
DataSource обязательно устанавливать? В моём случае используется такая конструкция: array[IndexPath.row].

Andrew
05.07.2017
07:02:23

Admin
ERROR: S client not available

Andrew
05.07.2017
07:02:30
Вот код:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! TableViewCell
// let cell = TableViewCell(style: .default, reuseIdentifier: "cellId")
if !cell.hasBeenSetUp {
let dataItem: dataItem = MasterViewController.dataArray[indexPath.row]
let name = dataItem.name
let actionNames = dataItem.actionNames
let color = dataItem.color
cell.setupCell(withName: name, actionNames: actionNames, color: color, for: self)
print("Table cell has been set at index \(indexPath.row)")
}
print(indexPath.row)
return cell
}

Andrew
05.07.2017
07:04:57
блин, что это:
if !cell.hasBeenSetUp {?
у тебя код внутри условия выполняется не всеглда, но ячейку ты реюзишь. А раз реюзишь, но данные не обновляешь, она показывает старые данные
и делаешь print(indexPath.row) вне условия, то есть всегда.
Ты действительно не понимаешь этого?

Andrew
05.07.2017
07:05:46
Нет.

Andrew
05.07.2017
07:06:27
вот просто ради эксперимента убери
if !cell.hasBeenSetUp {
и сделай код внутри безусловным
и посмотри как будет

Andrew
05.07.2017
07:06:39
Сейчас.

Andrew
05.07.2017
07:07:47
и еще, вот сейчас, когда мы видим твой код, как по-твоему, можно ли было 20 реплик назад догадаться о том, что у тебя внутри
if !cell.hasBeenSetUp {
покажи что у тебя в методе
cell.setupCell(withName: name, actionNames: actionNames, color: color, for: self)
а лучше тоже пока закомент эту строку

Alexander
05.07.2017
07:09:03
зачем здесь обсуждать самые примитвные вопросы от джунов уровня 0 ?
показ таблицы это самые азы и 304234 туториалов в инете
зачем этим засорять чат ...
Есть куда более интересные вопросы)

Stepan
05.07.2017
07:09:57
Надо показать посону ход мысли при решении проблемы

Andrew
05.07.2017
07:10:15

Google

Andrew
05.07.2017
07:10:28
я не знаю.

Andrew
05.07.2017
07:11:11

Alexander
05.07.2017
07:11:29
значит не по инструкции
или говно инструкция

Andrew
05.07.2017
07:11:39

Andrew
05.07.2017
07:12:07


Andrew
05.07.2017
07:12:42
Поэтому первоначально без деталей.
func setupCell(withName name: String, actionNames: [String], color: UIColor, for tableVC: TableViewController) {
tableViewController = tableVC
let tapped = UITapGestureRecognizer(target: self, action: #selector(handleTap))
contentView.addGestureRecognizer(tapped)
label = {
let lbl = UILabel()
lbl.layoutMargins = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
lbl.numberOfLines = 2
// make string with name and actionNames
let attributedText = NSMutableAttributedString(string: name, attributes: [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 14)])
attributedText.append(NSAttributedString(string: "\n" + actionNames[0] + " • " + actionNames[1] + " • " + actionNames[2] + " • " + actionNames[3],
attributes: [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 12),
NSForegroundColorAttributeName: colorLightGray]))
// add line spacing
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 4
attributedText.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0, attributedText.string.characters.count))
lbl.attributedText = attributedText
return lbl
}()
picture = {
let img = UIImageView()
img.contentMode = .scaleAspectFill
img.image = #imageLiteral(resourceName: "cat-icon")
img.layer.cornerRadius = 10
img.clipsToBounds = true
img.backgroundColor = color
return img
}()
addSubview(label)
addSubview(picture)
addConstraintsWithFormat(format: "H:|-8-[v0(44)]-8-[v1]-8-|", views: picture, label)
addConstraintsWithFormat(format: "V:|-8-[v0(44)]-8-|", views: picture)
addConstraintsWithFormat(format: "V:|-8-[v0]", views: label)
hasBeenSetUp = true
}


Andrew
05.07.2017
07:13:53
так что, не станешь показывать cell.setupCell(withName: name, actionNames: actionNames, color: color, for: self)

Evgeniy
05.07.2017
07:15:07
или говно инструкция
смотри в сторону
https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/UsingtheFlowLayout/UsingtheFlowLayout.html

Alexander
05.07.2017
07:15:59
по факту есть решение, просто тень добавить
но я думаю, может что получше есть


Andrew
05.07.2017
07:16:28
func setupCell(withName name: String, actionNames: [String], color: UIColor, for tableVC: TableViewController) {
tableViewController = tableVC
let tapped = UITapGestureRecognizer(target: self, action: #selector(handleTap))
contentView.addGestureRecognizer(tapped)
label = {
let lbl = UILabel()
lbl.layoutMargins = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
lbl.numberOfLines = 2
// make string with name and actionNames
let attributedText = NSMutableAttributedString(string: name, attributes: [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 14)])
attributedText.append(NSAttributedString(string: "\n" + actionNames[0] + " • " + actionNames[1] + " • " + actionNames[2] + " • " + actionNames[3],
attributes: [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 12),
NSForegroundColorAttributeName: colorLightGray]))
// add line spacing
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 4
attributedText.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0, attributedText.string.characters.count))
lbl.attributedText = attributedText
return lbl
}()
picture = {
let img = UIImageView()
img.contentMode = .scaleAspectFill
img.image = #imageLiteral(resourceName: "cat-icon")
img.layer.cornerRadius = 10
img.clipsToBounds = true
img.backgroundColor = color
return img
}()
addSubview(label)
addSubview(picture)
addConstraintsWithFormat(format: "H:|-8-[v0(44)]-8-[v1]-8-|", views: picture, label)
addConstraintsWithFormat(format: "V:|-8-[v0(44)]-8-|", views: picture)
addConstraintsWithFormat(format: "V:|-8-[v0]", views: label)
hasBeenSetUp = true
}
Когда я писал это, я думал, что функция выполнится ровно 25 раз (на каждый элемент массива) и заглохнет.