iOS - UITextView отключить прокрутку, но включить касания

Есть ли способ сделать это?

Что мне действительно нужно, так это UITextField, где я могу контролировать положение курсора. Но насколько я могу судить, это невозможно. Итак, я смотрю на использование UITextView. Это позволяет контролировать положение курсора. Но мне мешает прокрутка - мой текст прокручивается то тут, то там, а я этого не хочу. Я пробовал перебирать каждый компонент, чтобы проверить видимость с помощью isVisible (), но кажется, что все они «видимы». Редактировать: По "верхней карте" ...

Можно ли получить верхнюю карту в Java CardLayout? Я пробовал перебирать каждый компонент, чтобы проверить видимость с помощью isVisible (), но кажется, что все они «видимы».

Редактировать: Под «верхней карточкой» я подразумеваю ту, которая в настоящее время находится «наверху», отображаются, а не первая или последняя карта. Кроме того, я не знаю, помогает ли это, но я ищу JPanel (или его подкласс)

Изменить: фрагмент кода

for (Component component : getComponents()) {
 if (component instanceof JPanel && component.isVisible()) {
  currentPanel = (JPanel) component;
  System.out.println(currentPanel.getClass().getName());
 }
}  

Приведенный выше код всегда распечатывает имя каждого класса компонента, независимо от того, являются ли они видимая карта или нет.

Редактировать : Я использую это как часть школьного задания. Я не пытаюсь получить здесь халяву, задание не вращается вокруг этого макета. Это просто кажется наиболее удобным макетом для переключения между панелями. Мой учитель указал, что в проекте не должно быть стороннего кода. Я' я видел реализацию из ссылки camickr раньше, но я не могу ее использовать. Я могу свободно реализовать аналогичные функции и, возможно, дать ссылку на нее в документации, но я не могу просто загрузить и использовать ее.

Изменить : Причина, по которой я пытаюсь получить верхнюю карту, заключается в том, что у меня панель инструментов с кнопкой «Добавить». Вместо того чтобы иметь по одной кнопке добавления для каждой из двух возможных вещей, я хотел, чтобы она знала, что добавить, просто глядя на то, какая панель просматривается в данный момент. Если есть другой, более подходящий способ сделать это, дайте мне знать.

Edit : Спасибо всем за помощь. Я понял, в чем проблема. Думаю, это была моя вина, поскольку я не предоставил достаточно подробностей. Две из моих карточек - это JScrollPane , и мне также нужно было просмотреть их содержимое, чтобы узнать, была ли одна из этих панелей той, которую я видел. Я не проверял isVisible () на самой панели прокрутки, я смотрел на его утверждения, которые всегда видны, это была панель прокрутки, видимость которой мне нужно было проверить.

public JPanel getCurrentPanel() {
        JPanel currentPanel = null;

        for (Component component : getComponents()) {
            if (component.isVisible()) {
                if (component instanceof JPanel) 
                    currentPanel = (JPanel) component;
                else if (component instanceof JScrollPane)
                    currentPanel = (JPanel) ((JScrollPane) component).getViewport().getComponent(0);
            }
        }

        return currentPanel;
    }
13
задан alexcoco 17 April 2013 в 02:10
поделиться