Bir dizi öğe içeren bir NSTableView
sahibim. Sürüklenen öğeyi silmek için 'dan içine sürükleme ve NSTableView öğesinin dışına düşmesini istiyorum. (Tür gibi nasıl Safari 'poofs' imleri uzakta.)Kaldırmak için NSTableView dışarı sürükleme
NSTableView
zaten drag n' açılır yeniden sıralama desteklemek üzere yapılandırılmış ve uygulamada başka NSTableView
gelen damla kabul edilir bunun çoğu şebeke kurmuş iken, ve bu nedenle Sadece küçük bir işlevsellik eksik.
Güncelleme:
teşekkürler yardımlarından ötürü Seankadar ileri. Bir öğenin orijinal konumuna geri döndükten sonra sürüklendiğini belirten bildirim alabilirken (yanıtına yorum), fare düğmesi serbest bırakıldıktan hemen sonra bildirim almak istiyorum.
Geçerli davranış, kullanıcının bir öğeyi dışarı sürüklemesi, "geçerli değil" olarak ele alınacak sürüklemenin ve öğenin orijinal konumuna geri döndürülmesidir. Sonra bildirimi alındı ve öğeyi kaldırabilirim, ancak kullanıcı arabirimi açısından UI açısından biraz kafa karıştırıcı (kullanıcılar için).
Bu yöntemlerin NSTableView'da veya temsilci/veri kaynağı olarak görev yapan nesnede tanımlanması gerekir mi? Geçerli bir sürükleme işlevselliği düzeyini sağlamak için NSTableView alt sınıfına ihtiyacım yoktu, sadece birkaç delege yöntemi uyguladı ve registerForDraggedTypes :. Veri kaynağı/temsilci içinde önerdiğiniz sürükleme yöntemlerini uygulamak işe yaramadı, ancak bunları NSTableViews'ın alt sınıf sürümlerinde deneyeceğim. –
Alt sınıf NSTableView'a ekleyerek çalıştı, ancak sorun, uygulamanın sürgünün "kötü" olarak davranması ve görüntünün orijinal konumuna geri dönmesidir, * sonra yukarıdaki yöntemler çağrılır. Fare düğmesi serbest bırakıldığında hemen bir bildirim almanın herhangi bir yolu var mı? –
Son parçayı çözebildim. Alt sınıflanmış NSTableView'ımda, basitçe geçersiz kıldım: ** dragImage: at: offset: event: pasteboard: source: slideBack: ** ve sonra bu yöntemi [super ...] moduna geçirdikten sonra slideBack: parametresini NO olarak değiştirir. –