Обрезанное изображение SwiftUI по-прежнему доступно за пределами обрезанной области [дубликат]IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Обрезанное изображение SwiftUI по-прежнему доступно за пределами обрезанной области [дубликат]

Сообщение Anonymous »

Я показываю изображение из «Ресурсов», и это код:

Код: Выделить всё

struct ImageTest: View {

var body: some View {

ZStack {

Image("testImage")
.resizable()
.scaledToFill()
.frame(width:400)
.frame(height:400)
.clipped()
.border(.red)
.onTapGesture {
print("TAPPED \(Date())")
}
}
}
}
Проблема:
Изображение горизонтальное. Я могу масштабировать его для заполнения, но после обрезки обрезанная часть изображения по-прежнему вызывает действие при нажатии. Итак, я ожидал, что НЕ смогу активировать жест при нажатии, находясь за пределами квадратной красной границы (область, в которой я обрезаю изображение...). Когда я нажимаю слева или справа от красного квадрата, нажатие по-прежнему срабатывает.
Как сделать так, чтобы обрезанная область учитывалась даже при нажатии? В других работах я хочу, чтобы изображение действительно было обрезано и ни на что не влияло после обрезки.
[img]https://i.sstatic .net/BflN9Kzu.png[/img]

Тогда мне сказали, что это повторяющийся вопрос. Ссылается на:
Обрезанное изображение SwiftUI по-прежнему принимает жест касания
Поэтому я изменил свой код на это:

Код: Выделить всё

struct ImageTest: View {

var body: some View {
ZStack {
Image("testImage")
.resizable()
.scaledToFill()
.frame(width:400)
.frame(height:400)
.clipped()
.contentShape(Rectangle())
.border(.red)
.onTapGesture {
print("TAPPED \(Date())")
}
}
}

}
Проблема все еще существует. Что он сделал, так это устранил большую часть кровоточащей области, которую можно было коснуться, но я все еще могу вызвать действие при нажатии при нажатии на левую или правую красную рамку. Что изменилось, так это то, что я не могу щелкнуть так далеко, как раньше, слева или справа от красной границы, но я по-прежнему вызываю нажатие, только не так далеко от границы, как раньше.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ipped-area
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»