Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-15080] iOS7: Popover - unexpected layout of a popover with a right arrow

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionInvalid
Resolution Date2014-04-08T08:35:04.000+0000
Affected Version/sRelease 3.1.2, Release 3.1.3
Fix Version/sn/a
ComponentsiOS
Labelsqe-3.1.3, qe-closed-3.2.3
ReporterOlga Romero
AssigneeSabil Rahim
Created2013-09-07T20:34:06.000+0000
Updated2014-04-08T16:11:00.000+0000

Description

Use https://github.com/appcelerator/titanium_mobile_tests_internal/tree/master/FeatureTest/Popover timob_6903 or Run this code:
function showGallery(targetView, arrowDirection) {
  Titanium.Media.openPhotoGallery({
    success:function(event) {   
      Titanium.API.info('photo gallery success');
    },
    cancel:function() {
      Titanium.API.info('photo gallery cancel');
    },
    error:function(error) {
      Titanium.API.info('photo gallery error');
    },
    allowEditing: true,
    popoverView: targetView,
    arrowDirection: arrowDirection,
    mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]
  });
 
};
 
var win = Ti.UI.createWindow({
  title:'Test Case',
  backgroundColor:'#ffffff'
});
 
var b1 = Ti.UI.createButton({
    top: 20,
    left: 20,
    height: 30,
    width: 150,
    title: 'Left Arrow'
});
b1.addEventListener('click', function(e) {
    showGallery(b1, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);
  });
win.add(b1);
 
var b2 = Ti.UI.createButton({
    top: b1.top + 40,
    left: b1.left,
    height: 30,
    width: 150,
    title: 'Any Arrow'
});
b2.addEventListener('click', function(e) {
    showGallery(b2, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);
});
win.add(b2);
 
var b3 = Ti.UI.createButton({
    top: b2.top + 40,
    left: b2.left,
    height: 30,
    width: 150,
    title: 'Right Arrow'
});
b3.addEventListener('click', function(e) {
    showGallery(b3, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);
});
win.add(b3);
 
var b4 = Ti.UI.createButton({
    top: 250,
    left: 250,
    height: 30,
    width: 150,
    title: 'Left Arrow'
});
b4.addEventListener('click', function(e) {
    showGallery(b4, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);
});
win.add(b4);
 
var b5 = Ti.UI.createButton({
    top: b4.top + 40,
    left: b4.left,
    height: 30,
    width: 150,
    title: 'Any Arrow'
});
b5.addEventListener('click', function(e) {
    showGallery(b5, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);
});
win.add(b5);
 
var b6 = Ti.UI.createButton({
    top: b5.top + 40,
    left: b5.left,
    height: 30,
    width: 150,
    title: 'Right Arrow'
});
b6.addEventListener('click', function(e) {
    showGallery(b6, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);
});
win.add(b6);
 
var b7 = Ti.UI.createButton({
    top: 500,
    left: 500,
    height: 30,
    width: 150,
    title: 'Left Arrow'
});
b7.addEventListener('click', function(e) {
    showGallery(b7, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_LEFT);
});
win.add(b7);
 
var b8 = Ti.UI.createButton({
    top: b7.top + 40,
    left: b7.left,
    height: 30,
    width: 150,
    title: 'Any Arrow'
});
b8.addEventListener('click', function(e) {
    showGallery(b8, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_ANY);
});
win.add(b8);
 
var b9 = Ti.UI.createButton({
    top: b8.top + 40,
    left: b8.left,
    height: 30,
    width: 150,
    title: 'Right Arrow'
});
b9.addEventListener('click', function(e) {
    showGallery(b9, Ti.UI.iPad.POPOVER_ARROW_DIRECTION_RIGHT);
});
win.add(b9);
 
win.open()

Click Right Arrow button of the first popover (top left) Actual result: Unexpected layout, overlapping of content

Attachments

FileDateSize
popoverTest.zip2014-04-08T08:34:13.000+000035807
right_arrow_popover.png2013-09-07T20:34:06.000+0000126993

Comments

  1. Eric Merriman 2013-09-16

    This is the same behavior as seen on iOS 6 with the same test code.
  2. Ingo Muschenetz 2013-10-17

    Moving into 3.2.1 due to lack of remaining bandwidth for 3.2.0
  3. Sabil Rahim 2014-04-08

    This is the expected behavior, the popover always tries to present itself at the given arrow location and resize itself according to the size available. Marking ticket as invalid. Attaching native app which shows the same behavior along with the ticket.
  4. Olga Romero 2014-04-08

    Closing as Invalid per [~srahim] comment.

JSON Source