I have to scroll right in cypress for a specific view part. Sometimes it automatically detect, but sometimes after scroll only it detect the button. Scrollbar has no unique ID. What is the solution for this scenario?
I tried cy.scroll(500,0) but this dont work
You can get the element then use .scrollIntoView() chained to the returned element.
cy.get('#uniqueId')
.scrollIntoView()
// now it will be in current viewport
I have LazyRow with animateItemPlacement, items can be moved into the end of list by clicking on a button. Everything is ok with every item except first. Focus (and scroll position) moving with it on button click. How to disable this?
https://streamable.com/bhn85z
I'm playing around with Windows Universal App development. When looking at the Windows 10 Store App, I noticed a scrolling list control as shown in the below screenshot. Clicking the right arrow will shift right by a certain number of elements. Likewise on the other side, clicking the left arrow will shift back.
Is the scrolling control in the Store App a standard control or something custom made?
I'm aware of things like the ScrollViewer, but that just adds a scroll bar.
I created this by the following:
Grid with 3 columns with widths 3*, 94*, 3*
First column contains Button stretched vertically and horizontally to fill the grid and a ListView
Second column contains nothing
Third column contains Button stretched vertically and horizontally to fill the grid and a ListView
Button clicks fire events to calculate how many places to scroll left or right and then uses ListView.ScrollIntoView to scroll the items into view
I have a simple view hierarchy example.
Obviously the main view space is the primary space the user will interact with. At the bottom I have tabs that can pop up to indicate to the user where he/she is in the progression of the app. Normally, these tabs only take up the space indicated by the "Custom Tabs" rectangle at the bottom, but they can expand all the way up to fill the "Empty Space" box.
In order for the tabs to still be clickable, I had to make the tab view's frame the full rectangle containing both the "Custom Tabs" space and "Empty Space" space. What this results in is that "Empty Space" not being interactive to the user when the tabs aren't popped up, because the input is basically being consumed by that UIView, and not forwarded through the rest of the hierarchy.
I suppose the root of this problem is that both "Main View Space" and the "Empty Space + Custom Tabs" are both subviews of the main window.
Is there a way I can tell the system to forward the user input to the sibling views if the user didn't actively tap on an interactive element? For example, doing something with the touchesBegan, touchesEnded etc. methods that would indicate to the OS that this view did not use the input.
EDIT
Here's another version of the view, demonstrating the tate of one tab being open:
EDIT2
After some simple testing, it would seem that the default behavior is that the top most view gets the input first. This applies even if you have a clear UIView on top of a UITextField. The clear UIView will consume the input, preventing the UITextField from being editable
EDIT3
The way the tabs are supposed to work is the user can tap on a tab (sized as in the first picture), and then it will expand to display a thumbnail view associated with that tab (as in the second picture). The user can then optionally tap the tab once more to close it, and return the size to the original picture. In order for the tab to be clickable when it is open, I have to have the containing view be basically large enough to contain all 4 tabs as if they were open. This results in a lot of empty space in the containing view. This empty space results in essentially dead input space on the screen. If there were a button in the main view space that is covered by the empty space, the user would not be able to click on it. I would like to be able to avoid that behavior, and have that button covered by the empty space still be clickable.
Rather than trying to "forward" touches, I would modify your layout so that the tab view is only as big as the tabs, and change it's .frame to be the larger rectangle in code only when you need it. For example, when a tab is clicked:
CGRect tabFrame = tabView.bounds;
tabFrame.origin.y = top_of_emptySpace;
tabFrame.size.height = height_of_emptySpace + height_of_tabView;
tabView.frame = tabFrame;
then you can add the content you need. when you need it to go away, remove the content then do :
CGRect tabFrame = tabView.bounds;
tabFrame.origin.y = top_of_tabView;
tabFrame.size.height = height_of_tabView;
tabView.frame = tabFrame;
There might be some tweaking required to make the content show up as you like, but this way, when the tabs are minimized, you won't have to do anything extra to make the main view respond to touches correctly.
Ok, this is the way I would do it:
The RootViewController has two views, its main view which takes the whole screen, the one that is added to the window. And the tab view.
Then I would add another view controller (a UINavigationController ideally) to the RootViewController and I would have its view added as a subview of the RootViewController's view.
Any change performed, such as pushing new view controller or anything, would be done to the child view controller.
That way, your tab view would always be showing. To open a tab, you could create a new view that would show on top of the tab bar using an animation or something similar.
On Webkit re-rendering any of an outer containers (div in my case) child elements or changing on of these childs display attribute from/to display:none/block/inline/inline-block whatsoever, courses the container element to scroll back to top. This way elements located at the lower end of the scrolling area are never be reached by the user since this area keeps scrolling back to top as soon as one of previously mentioned things occure.
On Firefox the scroll position is maintained as required.
Example (expand left-hand list to force scrollbar to appear or choose an album on the left so that the main display area has enough content to bring up scrollbars, scroll to the bottom and hover over the images)
Is there any workaround/fix I could implement to keep the user experience also for webkit browsers?
Thanks