Я только начал работать в RubyMotion с историей в Rails. У меня есть простое приложение с двумя представлениями. Первое представление представляет собой tableView, в котором перечисляется массив «категорий». Каждая категория имеет подробный вид. Первоначально я настроил подробный вид, а также был tableView, но я перехожу к UILabel, так как у меня есть только небольшой абзац статического текста для каждой категории. Я посмотрел на использование таблицы с одной строкой в деталях и изменил высоту ячеек с содержанием, но решил, что мне понадобится только одна ячейка ... вероятно, это было неправильное использование таблицы и более эффективное использование UILabel (что как я могу сказать, это для статического текста ... не просто «метка»). Мнения или идеи по этому поводу очень приветствуются.Как создать textView в рубине?
category_view_controller.rb
Итак, в моем существующем category_view_controller у меня есть следующий метод, который выталкивает деталь просмотра контроллера, когда строка выбирается из списка категорий в контроллере категории вида. Поскольку теперь я создаю свои категории с их атрибутами (меткой и описанием) статически в app_deligate.rb. Это отлично работает в симе.
def tableView(tableView, didSelectRowAtIndexPath:indexPath)
case indexPath.section
when 0
cat, label, desc = Categories.categories_list[indexPath.row]
detailsVC = DetailViewController.alloc.initWithStyle(UITableViewStyleGrouped, category:cat, label:label, description:desc)
navigationController.pushViewController(detailsVC, animated:true)
end
tableView.deselectRowAtIndexPath(indexPath, animated:true)
end
DetailViewController.rb.
Этот контроллер наследуется от UITableViewController. Код ниже уже изменен, чтобы избавиться от tableView ... поэтому нет таблицы (вы можете увидеть, где я начал переходить на UILabel). Это также очень простое изображение с простой белой меткой, которая включает в себя подробный текст, который я установил в файле add_deligate.
class DetailViewController < UITableViewController
def initWithStyle(style, category:cat, label:label, description:desc)
initWithStyle(style)
@category = cat
@description = desc
@label_text = label
self
end
def viewDidLoad
super
self.view.backgroundColor = UIColor.redColor
@label = UILabel.alloc.initWithFrame([[20, 50], [280, 80]]).tap do |label|
label.translatesAutoresizingMaskIntoConstraints = false
label.text = @description
label.lineBreakMode = UILineBreakModeTailTruncation
label.numberOfLines = 0
label.sizeToFit
label.textColor = UIColor.colorWithHue(0.0, saturation:0.0, brightness:0.40, alpha:1.0)
self.view.addSubview(label)
end
end
end
Моей путаница
Я не знаю, как идти об удалении Tableview и только с помощью простого статического текста через UILabel. Или, может быть, есть еще лучший способ.
Я знаю, что мне нужно изменить эту строку в category_views_controller, который вызывает detail_view_controller. Эта строка все еще ссылается на UITableViewStyleGrouped ... и не должна быть, так как нет стиля таблицы.
Я попробовал просто удалить 'initWithStyle ... но это нарушает приложение.
detailsVC = DetailViewController.alloc.init(category:cat, label:label, description:desc)
мне нужна details_view_controller НЕ унаследует от < UITableViewController. Это выглядит так же просто, как просто удаление или изменение наследования. Я пробовал ... но это нарушает приложение. Я подозреваю, что любой из них может работать, как только я правильно удалю «UITableViewStyleGrouped» из вызова информации в category_view_controller.
class DetailViewController
и
class DetailViewController < UIViewController
Кроме того, когда я установить фоновый цвет в методе viewDidLoad внутри details_view_controller он не имеет никакого эффекта. Не знаю, почему.
self.view.backgroundColor = UIColor.redColor
Итак, напомним. Корневой вид представляет собой таблицу элементов статических категорий, и каждая категория имеет подробный вид. Детальный вид загружается при прослушивании категории в списке. Представление сведений представляет собой простой вид с элементом UILabel, отображающим подробное описание этих категорий.
Я надеюсь, что кто-то может указать мне в направлении обучения и заставить этот код работать по назначению. Спасибо
Thanks Jamon. Вы ответили мне на две отдельные должности. Я определенно изучу прикосновение к какао. Что вы предлагаете мне читать? Я принимаю документы ... но ваш текст в ответе оставляет то, что вы рекомендуете. – hellion
Я вижу ваше редактирование для чтения. Спасибо тонну за ваш вклад! – hellion
Вы ставите. Если у вас iPhone или iPad, я бы рекомендовал руководство iOS и Cocoa для программирования на iBook. Они свободны, длительны, но стоит посмотреть. Кроме того, есть лекции Пола Хегарти по iTunes U, которые могут быть полезными. И просмотрите учебные пособия и скринкасты ProMotion - там вы найдете множество вещей. Получайте удовольствие от RubyMotion - это потрясающе! –